2016-07-22 14 views
4

我知道它可以創建一個存儲過程,並通過做傳遞一個表作爲參數如下:通表的參數,而無需創建TYPE

CREATE TYPE MyTableType AS TABLE (Id UNIQUEIDENTIFIER) 

CREATE PROCEDURE MyProcedure 
    @ids MyTableType READONLY 
AS 
... 

我不希望創建與上述A型,因爲我被告知不要在數據庫中創建類型依賴關係。所以我想做以下事情:

CREATE PROCEDURE MyProcedure 
    @ids TABLE (Id UNIQUEIDENTIFIER) 
AS 

但由於某種原因,我得到錯誤的亮點。我在語法上做錯了什麼?或者這是不可能做到的?

+2

這不是直接的答案,但是這篇文章將通過很多方式將列表傳遞給存儲過程。 https://stackoverflow.com/questions/43249/t-sql-stored-procedure-that-accepts-multiple-id-values –

+0

謝謝,@WilliamXifaras –

回答

3

我不認爲有可能像你試圖做的那樣聲明一個內聯表類型。表值參數this article中的第一行表示:

表值參數是使用用戶定義的表類型聲明的。

+0

這聽起來很有希望,但鏈接被打破。你能編輯它嗎?謝謝! –

+0

已修復,@MariFaleiros。對於那個很抱歉! –

+0

不用擔心,謝謝! –