declare @a numeric(18,2),@qs char(10),@zz char(10)
set @qs='1990-1-1'
set @zz='2009-1-1'
exec('select @a=sum(jiefang) from pingzhenku1 where kemudm=''5101'' and pzdate>='''+@qs+''' and pzdate<='''+@zz+'''')服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@a'。
set @qs='1990-1-1'
set @zz='2009-1-1'
exec('select @a=sum(jiefang) from pingzhenku1 where kemudm=''5101'' and pzdate>='''+@qs+''' and pzdate<='''+@zz+'''')服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@a'。
set @qs='1990-1-1'
set @zz='2009-1-1'
exec('select '+@a+'=sum(jiefang) from pingzhenku1 where kemudm=''5101'' and pzdate>='''+@qs+''' and pzdate<='''+@zz+'''')
declare @num numeric(18,2),@sqls nvarchar(4000),@qs char(10),@zz char(10)
set @qs='1990-1-1'
set @zz='2009-1-1'
set @sqls='select @a=sum(jiefang) from pingzhenku1 where kemudm=''5101'' and pzdate>='''+@qs+''' and pzdate<='''+@zz+''''
exec sp_executesql @sqls,N'@a int output',@num output
select @num
1.必须声明标量变量 "@a"。
2.'=' 附近有语法错误。
3.对象名 'pingzhenku1' 无效。
declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=sum(jiefang) from pingzhenku1 where kemudm=''5101'' and pzdate>='''+@qs+''' and pzdate<='''+@zz+''''
exec sp_executesql @sqls,N'@a int output',@num output
select @num
declare @qs char(10),@zz char(10)
set @qs='1990-1-1'
set @zz='2009-1-1'
exec('declare @a numeric(18,2) select @a=sum(jiefang) from pingzhenku1 where kemudm=''5101'' and pzdate>='''+@qs+''' and pzdate<='''+@zz+''''+' select @a')按照你的要求,@a的宣言要在exec中进行