EXEC ('IF ('''+@SecuCategoryDesc+'''=0)
BEGIN
SELECT '+@InnerCode+'=A.XX
FROM TABLE A
WHERE A.AA='''+@StockCode+''' AND CAST(A.BB AS VARCHAR(5)) IN ('+@SecuCategory+')
END ')好像是 @InnerCode 这里的错误,我把这个赋值给去掉就对了,但是我想给这个变量赋值,不知道该怎样解决比较好呢?
BEGIN
SELECT '+@InnerCode+'=A.XX
FROM TABLE A
WHERE A.AA='''+@StockCode+''' AND CAST(A.BB AS VARCHAR(5)) IN ('+@SecuCategory+')
END ')好像是 @InnerCode 这里的错误,我把这个赋值给去掉就对了,但是我想给这个变量赋值,不知道该怎样解决比较好呢?
BEGIN
SELECT @InnerCode=A.XX
FROM TABLE A
WHERE A.AA=@StockCode AND charindex(CAST(A.BB AS VARCHAR(5)), @SecuCategory)>0
BEGIN
EXEC ('SELECT '+@InnerCode+'=A.XX FROM TABLE A WHERE A.AA='''+@StockCode+''' AND CAST(A.BB AS VARCHAR(5)) IN ('+@SecuCategory+')')
END这样?注意IN ('+@SecuCategory+') 这个@SecuCategory里如果有多个值中间要加引号
BEGIN
SELECT @InnerCode=A.XX
FROM [TABLE] A
WHERE A.AA=@StockCode
AND charindex(CAST(A.BB AS VARCHAR(5)), @SecuCategory)>0
end
没错啊!