測試語法一

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 去執行此物件,所以才不會有失敗的訊息。

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jiang Ying-Fu 的頭像
    Jiang Ying-Fu

    Jiang Ying-Fu的部落格

    Jiang Ying-Fu 發表在 痞客邦 留言(0) 人氣()