sql存儲過程——名稱 ****不是有效的標識符


轉載自http://blog.csdn.net/xb12369/article/details/8202703

假設存儲過程:proc_test

create proc proc_test

@ProdID varchar(10)

as

begin

declare @sql varchar(max)

@sql = " select * from test  where 1=1"

if @ProdID <> ''

set @sql += ' and prodid=''' + @ProdID + ''''

set @sql += ' order by Id desc'

exec @sql

end

 

然后執行存儲過程:會彈出 名稱 不是有效的標識符 sql

為什么?

因為exec的時候,掉了()

 

正解是:exec  (@sql)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM