mssql存储过程if...else。判断
execsp_executesql@sqls,N'@aintoutput',@numoutputprint@numif(@num>0)set@sql='updatetab...
exec sp_executesql @sqls,N'@a int output',@num output
print @num
if(@num>0)
set @sql = 'update table set....'
else
set @sql='insert into table values'
print (@sql)
为什么输出个num为0.但是个sql没东西打印出来呢? 展开
print @num
if(@num>0)
set @sql = 'update table set....'
else
set @sql='insert into table values'
print (@sql)
为什么输出个num为0.但是个sql没东西打印出来呢? 展开
展开全部
不知道。。
我做了测试
declare @num int
declare @sql varchar(100)
set @num = 0
if(@num>0)
set @sql = 'update table set....'
else
set @sql='insert into table values'
print (@sql)
发现能print出来语句啊
我做了测试
declare @num int
declare @sql varchar(100)
set @num = 0
if(@num>0)
set @sql = 'update table set....'
else
set @sql='insert into table values'
print (@sql)
发现能print出来语句啊
追问
发现是set @sql='insert into table('+@ColumnName+',starttime,endtime,userid,name) values(cast('+@nID+' as int),getdate(),getdate(),cast('+@id+' as int),'''+@name+''')' 这句出问题。。。怎么改呢。。
追答
首先要确保这些变量都声明了,然后应该确保这些变量都有值,如果没值的话,是print不出来的。
可以在print (@sql) 之前把这些变量的值都print出来,这样可以调试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询