表:Department
列: ID(标识列,自增长)
    DepartmentName(nvarchar)部门名称ID     DepartmentName
1      生产部
2      销售部
..      ..
..      ..
..      ..
用存储过程解决 一次插入多个部门名称。具体添加多少个部门不知道,看具体得到的值。
本人小鸟,刚刚开始接触。希望各位达人能帮忙解决一下,网上搜了好多都没找到能解决的办法。
跪谢!!!

解决方案 »

  1.   


    1,用tsql块,把部门这批数据定义成游标,然后循环游标取值,插入表里面去。
    2,用while或者for循环,依次将部门数据插入表里面去。
      

  2.   

    传入一个字符串 ,然后在存储过程里面分割。
    或者用传入xml文件可以一次搞定
      

  3.   

    declare @d smalldatetime
    set @d=  getDate()
    print @d
    DECLARE @HDOC INT    --文档句柄
    DECLARE @XMLSTRING VARCHAR(200)        --XML字符串
    SET @xmlString ='<?xml version="1.0"?>
    <ROOT>
         <USER ID="1" Name="SBQCEL"/>
         <USER ID="2" Name="PEACELI"/>
         <USER ID="3" Name="SHEEPCHANG"/>
    </ROOT>'
    --使用系统存储过程SP_XML_PREPAREDOCUMENT分析XML字符串
    EXEC SP_XML_PREPAREDOCUMENT @HDOC OUTPUT, @XMLSTRING
    --使用OPENXML从SQL Server 的内部缓存查询数据
    delete from   Users where userid in ( SELECT * FROM OPENXML(@HDOC,N'/ROOT/USER')
    WITH 

         ID int
    ))
    --使用系统存储过程SP_XML_REMOVEDOCUMENT释放内存
    EXEC SP_XML_REMOVEDOCUMENT @HDOC