使用函数在Sql Server中插入语句
我有一个场景,我创建了一个返回表变量的函数。我想在insert语句中使用这个表变量。下面是查询使用函数在Sql Server中插入语句,sql,sql-server,Sql,Sql Server,我有一个场景,我创建了一个返回表变量的函数。我想在insert语句中使用这个表变量。下面是查询 INSERT INTO DNVPCDCS..d_CMRequest (PRIORITY, RETRIES,ACTIONCD,FILENAME,TAXONOMY,NOTES,GUID,TOKEN,STATUS,ISDBUSER) VALUES @PRIORITY,0,'INS',@FILENAME,[dbo].[udf_GetTaxonomy
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
我不确定语法,因此出错。您可以使用插入…选择如下语法:
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返回的列是什么
有关更多详细信息,请参阅。将值替换为SELECT,同样有效。您的代码将是:
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
这是非常错误的,我甚至看不到您试图做什么。一个错误是,您的值周围没有括号。您为什么要尝试将表值函数调用插入到表单元格中?函数返回什么?函数返回一个表,我需要从中选择值并插入到另一个表中。