【问题标题】:Insert list of tree columns into SQL Server stored procedure将树列列表插入 SQL Server 存储过程
【发布时间】:2015-11-05 21:55:22
【问题描述】:

我有一个表Zone,其中包含这些列:

ID
Name
Province_Id
City_Id

我想传递一个包含 3 列的列表,并使用 SQL Server 存储过程将它们插入到该表中。

这样

Name       'a,b,c,d'
Province_Id 1,2,3,4
City_Id     1,2,3,4

我写了这个过程,但是这个过程只适用于一列

CREATE PROCEDURE [dbo].[CreateZone]
    @Name                  NVARCHAR(50),
    @BuildingProvince_Id   INT,
    @BuildingCity_Id       INT
AS
BEGIN
    BEGIN TRY
        DECLARE @xml xml;   

        SET @xml = cast(('<X>'+replace(@Name,',' ,'</X><X>')+'</X>') as xml)

        INSERT INTO ZoneCategory
            SELECT  N.value('.', 'varchar(100)') as value 
            FROM @xml.nodes('X') as T(N)

        SELECT 100
    END TRY
BEGIN CATCH
    EXEC InsertSQLError
        SELECT -100 as Error
END CATCH
END

如何更改它以插入 3 列的值?

或者为这个场景创建一个过程?

我想用逗号插入 3 列的值

【问题讨论】:

标签: sql-server stored-procedures


【解决方案1】:

您尝试做的是将一个数组(嗯,多个数组)作为输入参数传递给存储过程。

有了这种理解,而不是改写/抄袭已经是一个很好的答案,我只会指出这一点......

How to pass an array into a SQL Server stored procedure

【讨论】:

  • 不加评论的否决票对任何人都没有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 2018-09-08
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多