失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > SQLServer 执行动态SQL语句

SQLServer 执行动态SQL语句

时间:2024-05-17 11:12:52

相关推荐

SQLServer 执行动态SQL语句

执行动态SQL语句

首先定义变量 @Games 为运动会名称,

为动态SQL语句定义变量

然后建立动态的SQL语句

最后运行这个动态的SQL语句 EXEC (@SQL2) 或 Exec SP_ExecuteSQL @SQL2

-- 执行动态SQL语句示例,复制后可直接运行,运行过程中执行SQL3的语句会出错DECLARE @Games VARCHAR(20)DECLARE @NUM SMALLINTDECLARE @STR NVARCHAR(4000)DECLARE @SQL1 NVARCHAR(4000) -- 第1种数据类型DECLARE @SQL2 NVARCHAR(4000) -- 第1种数据类型DECLARE @SQL3 VARCHAR(4000)-- 第2种数据类型SELECT @Games = Games FROM (SELECT '市全运会' Games) A-- 设置相同的SQL语句SET @STR = 'WITH Team (Games,GroupType,SEX,Team) AS ('SET @STR = @STR + ' SELECT ''市全运会'',''高中组'',''男'',''100米'' UNION ALL'SET @STR = @STR + ' SELECT ''市全运会'',''高中组'',''女'',''100米'' UNION ALL'SET @STR = @STR + ' SELECT ''市全运会'',''初中组'',''男'',''100米'' UNION ALL'SET @STR = @STR + ' SELECT ''市全运会'',''初中组'',''女'',''100米'' )'SET @SQL1 = @STR + ' SELECT @A=COUNT(*) FROM Team WHERE SEX = ''女'''SET @SQL2 = @STR + ' SELECT Games,GroupType,SEX,Team FROM Team WHERE Games = ''' + @Games + ''''SET @SQL3 = @SQL2EXEC (@SQL2) -- 执行动态SQL成功EXEC (@SQL3) -- 执行动态SQL成功Exec SP_ExecuteSQL @SQL2-- 执行动态SQL成功Exec SP_ExecuteSQL @SQL3-- 执行动态SQL出错 显示错误信息为:需要类型为 'ntext/nchar/nvarchar' 的参数Exec SP_ExecuteSQL @SQL1,N'@A INT Output',@num Output -- 成功将动态SQL语句的运行结果保存在变量@NUM中SELECT @NUM

如果觉得《SQLServer 执行动态SQL语句》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。