Note: Forums will be making significant UX changes to address key usability improvements surrounding search, discoverability and navigation. To learn more about these changes please visit the announcement which can be found HERE.

Locked Bulk insert trigerrel

  • Thursday, September 11, 2008 11:03 AM
     
     

     

    udv en ugy tudtam, hogy ez:

    BULK INSERT Tablam

    FROM 'D:\input.txt'

    WITH (CODEPAGE = '1250', FIRE_TRIGGERS, BATCHSIZE=1, ROWS_PER_BATCH = 1, MAXERRORS = 1, FIELDTERMINATOR = '~', ROWTERMINATOR='~\n')

     

    arra jo, hogy a bulk insert soran lefusson a trigger es hogy rekordonkent csinalja az insertet, azaz a tirggert is rekordonkent hivja meg, ellenben ha igy nez ki:

     

    CREATE TRIGGER [dbo].[II_Tablam]

    on [dbo].[Tablam]

    INSTEAD OF INSERT

    AS

    print 'hivas'

    select count(*) from inserted

     

    es van 4 sorom a txt-ben akor ezt kapom:

    hivas

    4

     

    es en meg erre szamitottam volna:

    hivas

    1

    hivas

    1

    hivas

    1

    hivas

    1

     

    a kerdes, hogy ki lehet-e valahogy eroszakolni hogy megis csak rekordonkent fusson ez a dolog de mardva a bulk insertnel Smile ?

     

All Replies

  • Friday, September 12, 2008 12:00 PM
    Owner
     
     

    Ha jól tudom a trigger mindig műveletenként fut, nem pedig rekordonként.

     

    http://www.eggheadcafe.com/software/aspnet/32855454/after-insert-trigger-does.aspx

     

  • Friday, September 19, 2008 11:41 AM
    Moderator
     
     Answered
    Ne használd a ROWS_PER_BATCH = 1-et.

    Hanem csak így:

    BULK INSERT Tablam

    FROM 'D:\input.txt'

    WITH (CODEPAGE = '1250', FIRE_TRIGGERS, BATCHSIZE=1, MAXERRORS = 1, FIELDTERMINATOR = '~', ROWTERMINATOR='~\n')


  • Friday, September 19, 2008 1:27 PM
     
     

     

    Yes!

    megvan a bibi, ez volt a baj valoban Smile

     

    koszi szepen!

     

    Pötyös