蔡依林衣服搭配图片:为何sql string语句里的变量无法利用?

来源:百度文库 编辑:高校问答 时间:2024/04/30 13:16:50
SET @SQLSTR= 'DECLARE @CNTSTR VARCHAR (50)
DECLARE @CNT INT
SELECT @CNTSTR= COUNT(*) FROM ' +@MATCHTAB + ' WHERE [NAME] =''' + @ADDR_ROAD+ '''
SET @CNT= CAST(@CNTSTR AS INT)
PRINT (@CNT)'
PRINT(@SQLSTR)
EXEC(@SQLSTR)

下面想对@CNT进行判断分析
如:if @CNT=1 ……
但是好像不行啊!
请问如何用临时表来解决这个问题啊?
临时表也在@SQLSTR里面做吗?用完了再drop?

@CNT 是存在于字符串里,使用exec执行的,也就是说 @CNT 只在exec里存在,当exec执行完毕后 @CNT 也就不存在了,所以在exec之后无法再使用 @CNT 里的值了
如果要使用这个值,必须通过一个临时表来传递

临时表在哪里创建都可以,在字符串里插入数据,用完后drop