名稱 ****不是有效的識別符號 sql

赤砂之蠍我愛羅發表於2012-11-20

假設儲存過程: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)

相關文章