我正在使用以下过程尝试通过文件路径将 xml 插入 xml 列。我收到一个错误,必须为 ForeignId 声明标量变量。有没有更好的方法来做我想做的事情,还是我走在正确的道路上?
这是程序
ALTER PROC [dbo].[InsertXml] @path nvarchar(100)
,@ForeignId uniqueidentifier
AS
BEGIN
SET NOCOUNT ON
DECLARE @SQL nvarchar(4000) =
'INSERT INTO XmlTable(XmlId
, ForeignId
, TestXml)
SELECT NEWID()
, @ForeignId
,* FROM OPENROWSET(
BULK ''' + @path + ''',
SINGLE_BLOB) AS x;'
EXECUTE(@SQL);
RETURN @@ERROR;
END