安大略m9好处:SELECT @CNT=COUNT(*) FROM TABLE1 WHERE [NAME]= @ADDRNAME

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 07:13:55
上面的语句没有问题,相关的变量我都已经declare了,可是当我将它转成一条string的时候,就没法给@CNT赋值了。语句如下:

此时我已经将@CNT变量declare成 varchar了,因为要造一个string嘛。
SET @SQLSTR ='SELECT ' + @CNT + '=COUNT(*) FROM TABLE1 WHERE NAME = ''' + @ADDRNAME + ''''

PRINT(@SQLSTR)
PRINT(@CNT)

运行后没有出现语法错误,却没有任何显示的东西。
谢谢答复,问题在于,我现在不熟悉如何设置一条string的变量,譬如提问中的@SQLSTR,所以,想构造一个,print出来,看看哪有问题。这是我自己在练习:)

SET @SQLSTR ='SELECT ' + @CNT + '=COUNT(*) FROM TABLE1 WHERE NAME = ''' + @ADDRNAME + ''''
这句里面 @CNT 即然是变量,那和字符串相加后就不存在这个变量了

SET @SQLSTR ='DECLARE @CNT INT SELECT @CNT=COUNT(*) FROM TABLE1 WHERE NAME = ''' + @ADDRNAME + ''' PRINT @CNT'
PRINT(@SQLSTR)
EXEC(@SQLSTR)