盡管你可以把表格變量當作數組來用
但是這樣的用法對該表格變量的數據類型是有一些限制的
例如
你的表格變量中的數據不能是一個表格變量
定義一個表格變量的方法和定義一個用戶自定義表格的方法是一樣的
然而
定義了一個表格變量之後
你就不能再改變該表格的定義了
而且你必須在定義這個表格變量的時候給出它所有屬性的定義
不是所有的INSERT命令都可以對表格變量執行操作
比如
當你向一個表格變量插入變量值時
你就不能用EXEC命令
通過執行一個已保存的程序或是一系列命令來為一個表格變量插入變量值將會返回錯誤的結果
而且
也不是所有的SELECT命令都可以對表格變量執行操作
你不能用SELECT INTO命令來為一個表格變量插入數據
對於表格變量
你不能使用某些系統程序
比如sp_depends
運行時產生的並被隨機命名的表格變量的對象名被存儲在tempdb數據庫中
由於大多數系統功能和系統程序需要對象名和標識代碼
所以對一個表格變量執行系統功能和系統程序就是一件很困難的事
為了對一個表格變量執行系統功能和系統程序
我們需要先進行一些復雜的調整以獲取該表格變量的對象名和/或標識代碼
一個表格變量的有效范圍就是整個批處理
程序
或函數的處理過程
當在一段程序中發出GO命令時
表格變量就不再起作用了
下面的例子是一段使用表格變量的程序腳本
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22038.html