Bulk insert using stored procedure

后端 未结 4 1325
醉酒成梦
醉酒成梦 2020-11-30 08:29

I have a query which is working fine:

BULK INSERT ZIPCodes 
FROM  \'e:\\5-digit Commercial.csv\' 
WITH 
( 
     FIRSTROW = 2 ,
    FIELDTERMINATOR = \',\', 
         


        
4条回答
  •  囚心锁ツ
    2020-11-30 09:05

    create PROC TestInsert
        (
          @stuName NVARCHAR(50) ,
          @XmlData XML
        )
    AS
        BEGIN
            BEGIN TRY 
                INSERT  INTO dbo.Test_Student
                        ( stuName 
                        )
                VALUES  ( @stuName
                        );
                DECLARE @id BIGINT;
                SET @id = ( SELECT  SCOPE_IDENTITY()
                          ); 
                INSERT  INTO dbo.Test_Qual
                        ( stuid ,
                          stuclass ,
                          InstituteId ,
                          obtmark ,
                          totalmark ,
                          per
                        )
                        SELECT  @id ,
                                col.value('stuclass[1]', 'nvarchar(50)') AS stuclass ,
                                col.value('InstituteId[1]', 'int') AS InstituteId ,
                                col.value('obtmark[1]', 'nvarchar(100)') AS obtmark ,
                                col.value('totalmark[1]', 'nvarchar(50)') AS totalmark ,
                                col.value('per[1]', 'nvarchar(50)') AS per
                        FROM    @XmlData.nodes('Parent/child') AS Doc ( col );  
    
                SELECT  @id AS RegisIdNUH ,
                        1 AS Flag ,
                        'Save' AS Msg
                FROM    dbo.Test_Student R
                WHERE   R.stuid = @id;
    
            END TRY
            BEGIN CATCH
                SELECT  0 AS Flag ,
                        'Some Error occur' AS Msg;
                ROLLBACK;
            END CATCH;
        END;
    

提交回复
热议问题