我有一个 SQL Server 过程,我想将文件名作为参数。
我的代码是:
CREATE PROCEDURE XMLTOSQLTABLE1 @NewName nvarchar(50)
AS
TRUNCATE TABLE [dbo.Student]
DECLARE @x XML
SELECT @x = P
FROM OPENROWSET (BULK @NewName, SINGLE_BLOB) AS Student(P)
DECLARE @hdoc int
EXEC sp_xml_preparedocument
@hdoc OUTPUT,
@x
INSERT INTO [dbo.Student]
SELECT *
FROM OPENXML (@hdoc, '/class_list/student',2)
WITH (
name varchar(100),
grade varchar(100))
EXEC sp_xml_removedocument @hdoc
GO
我想将文件名和列名作为我的参数,这样我就可以轻松地将任何 XML 文件输入到数据库中,只需执行以文件名和列名作为参数的过程即可。