2016-05-18 146 views
1

我有一個場景,我已經創建了一個函數返回一個表變量。我想在插入語句中使用這個表變量。以下是查詢功能插入語句在SQL Server中

INSERT INTO DNVPCDCS..d_CMRequest  
    (PRIORITY, RETRIES,ACTIONCD,FILENAME,TAXONOMY,NOTES,GUID,TOKEN,STATUS,ISDBUSER)  
    VALUES  
    @PRIORITY,0,'INS',@FILENAME,[dbo].[udf_GetTaxonomy](@IMAGEID,@HISTORYNO,@NEW_GUID),@NOTES,@NEW_GUID,@TOKEN,'N',NULL 

我不確定語法,並且在這個上得到錯誤。

+0

這是錯誤的,我什至不能看到你想要做什麼。 –

+0

一個錯誤是沒有圍繞您的值的括號 – Dustin

+0

爲什麼要嘗試將表值函數調用插入表格單元?你的函數返回什麼? –

回答

2

您可以使用INSERT ... SELECT語法是這樣的:

INSERT INTO DNVPCDCS..d_CMRequest(PRIORITY, RETRIES,ACTIONCD,FILENAME,TAXONOMY,NOTES,GUID,TOKEN,STATUS,ISDBUSER) 
SELECT @PRIORITY,0,'INS',@FILENAME, ... 
    FROM [dbo].[udf_GetTaxonomy](@IMAGEID,@HISTORYNO,@NEW_GUID) t 

「......」代替列名單,因爲我不知道是什麼行乘udf_GetTaxonomy返回。

查看INSERT (Transact-SQL)瞭解更多詳情。

0

用SELECT替換VALUES,同樣的工作。您的代碼將是:

INSERT INTO DNVPCDCS..d_CMRequest  
(PRIORITY, RETRIES, ACTIONCD, FILENAME, TAXONOMY, NOTES, [GUID], TOKEN, [STATUS], ISDBUSER)  
SELECT  
@PRIORITY, 0, 'INS', @FILENAME, [dbo].[udf_GetTaxonomy](@IMAGEID, @HISTORYNO, @NEW_GUID), @NOTES, @NEW_GUID, @TOKEN, 'N', NULL