測試語法一
Declare @Col Varchar(50)
Declare @Table Varchar(50)
Set @Col = 'name'
Set @Table = 'student'
Execute ( 'Select ' + @Col + ' From ' + @Table + ';' );
測試語法二
Declare @Col Varchar(50)
Declare @Table Varchar(50)
Set @Col = 'name'
Set @Table = 'student'
Select @col From @Table
語法剖析,兩個都成功。
語法執行,語法一成功,語法二失敗。
說明:
以語法格式來說,語法二的程式並沒有錯誤。
但在執行時,欄位和資料表,是不允語使用變數宣告的,
所以執行時,會得到「必須宣告資料表變數 "@table"。」
測試一會成功,是因為是把「語法」建立成「字串物件」
也就是先組成一個完整的語法
「 Select Name From Student 」
並且使用 Execute 去執行此物件,所以才不會有失敗的訊息。
全站熱搜