【发布时间】:2017-09-12 22:20:33
【问题描述】:
我试图创建一个动态 SQL 查询,但不幸的是它显示了一个错误:
消息 245,第 16 级,状态 1,第 14 行
从 SimulationVisit SV inner join Students on s 转换 varchar 值 'select count (s.ID), count (distinct (s.ID)) 时转换失败。 ID=SV。学生 ID 内部加入 AC 上的 Activity Context AC。 ID=SV。 ActivityContextID WHERE (AC.TenantID = ' 到数据类型 int。
我的代码
declare @DateRangeStart [DATETIME2](7),
@DateRangeEnd [DATETIME2](7),
@TenantID [SMALLINT] ,
@ActivityContextID [INT],
@StudentID [INT] = NULL
'select count(s.ID),count(distinct(s.ID))
from SimulationVisit SV
inner join Student s on s.ID = SV.StudentID
inner join ActivityContext AC on AC.ID = SV.ActivityContextID
where (AC.TenantID = ' + @TenantID + ' OR @TenantID is null)
and (AC.ID =' + @ActivityContextID + ')
and (SV.StudentID = ' + @StudentID + ')';
请帮我解决这个问题
【问题讨论】:
-
为什么要为此创建动态 sql 查询。使用普通参数。
标签: sql sql-server sql-server-2008-r2