动态SQL语句中输出参数的问题??达人进
DECLARE @S VARCHAR(50)
DECLARE @ind INT
DECLARE @cus INT
Declare @strTmp nVarchar(2000)
SELECT @S=CASE FSRC WHEN 6008 THEN 'SALE_PLAN_HTY ' WHEN 6009 THEN 'LET_PLAN_HTY ' END FROM CUS_REC_EDIT WHERE FID=3
set @strTmp=( 'SELECT @ind= B.FINDUSTRY,@cus=B.FCUSTOMER FROM CUS_REC_EDIT A INNER JOIN
(SELECT * FROM '+ @S + ' ) B ON A.FSRC_ID =B.FID WHERE A.FID=3 ' )
exec sp_executesql @strTmp,N '@ind int output ',@IND OUTPUT,N '@cus int output ',@CUS OUTPUT
SELECT @IND,@CUS
-------------
显示错误
消息 137,级别 15,状态 1,第 1 行
必须声明标量变量 "@cus "。
消息 102,级别 15,状态 1,第 2 行
'B ' 附近有语法错误。
我想把那个字段的值输出来。。。。就这个要求。。谢谢
[解决办法]
多了點東西,再修改下。
DECLARE @S VARCHAR(50)
DECLARE @ind INT
DECLARE @cus INT
Declare @strTmp nVarchar(2000)
SELECT @S=CASE FSRC WHEN 6008 THEN 'SALE_PLAN_HTY ' WHEN 6009 THEN 'LET_PLAN_HTY ' END FROM CUS_REC_EDIT WHERE FID=3
set @strTmp=( 'SELECT @ind= B.FINDUSTRY,@cus=B.FCUSTOMER FROM CUS_REC_EDIT A INNER JOIN
(SELECT * FROM '+ @S + ' ) B ON A.FSRC_ID =B.FID WHERE A.FID=3 ' )
exec sp_executesql @strTmp,N '@ind int output, @cus int output ',@IND OUTPUT,@CUS OUTPUT
SELECT @IND,@CUS