MS SQL 2000 server-en trigger átmeneti kikapcsolása
2003-08-06T15:03:13+02:00
2003-08-07T11:06:16+02:00
2022-07-27T17:52:33+02:00
  • Köszönöm a válaszokat!

    Valóban gond lehet, ha több connection van, így inkább én is más megoldást választottam (új bit mezőt vezettem be, amit csak a tárolt eljárás állít egyre, default pedig 0).

    Egyébként pontosan erre az utasításra gondoltam, csak a help-ben nem találtam meg sehol.

    Mégegyszer köszi!
    Mutasd a teljes hozzászólást!
  • -- Egy tablan a trigger kikapcsolasa:
    ALTER TABLE tablanev DISABLE TRIGGER triggernev

    -- egy tablan a trigger visszakapcsolasa
    ALTER TABLE tablanev ENABLE TRIGGER triggernev

    Azonban nem ezzel kell az ilyent megoldani, mert ez minden connection-on ervenyes. Az en javaslatom az, hogy letre kell hozni egy kulon tablat egy SPID mezovel, es a triggerben ellenorzod, hogy a @@SPID-ed benne van-e ebben a tablaban. Ha benne van, nem csinalsz semmit, ha meg nincs, akkor meg futhat rendesen a triggered. A stored proc-ban pedig az elejen beteszed a @@SPID-ed ebbe a tablaba, a vegen pedig majd kitorlod onnan. Ez a modszer nekem bevalt.
    Mutasd a teljes hozzászólást!
  • Nem szép dolog, amit csinálni akarsz..
    En a helyedben inkább az insert-re és az update-re is irnék tárolt eljárást, amibe átraknám azt a logikát, ami most a triggerben van.
    Sokkal kezelhetőbb marad az adatbázisod.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    A következő a probémám: van egy tábla az adatbázisban. Van rajta egy FOR UPDATE, INSERT trigger. Van egy ettől különálló tárolt eljárás, ami szúr be ebbe a táblába. Azt szeretném elérni, hogy a trigger ne fusson le akkor, amikor a tárolt eljárás szúr be rekordot, úgyhogy a tárolt eljárás elején ki szeretném kapcsolni a triggert, a végén pedig vissza. Ha jól tudom ORACLE alatt van olyan lehetőség hogy disabled-dé teszem a triggert, meg enabled-dé. MS SQL Server 2000 alatt ezt hogyan lehet megoldani?

    Köszi!

    [DenniX]
    Mutasd a teljes hozzászólást!
abcd