我有一个 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 文件输入到数据库中,只需执行以文件名和列名作为参数的过程即可。