none
Delete Trigger RRS feed

  • Soru

  • Arkadaşlar basit bir delete trigger yazdım ama bir türlü çalıştıramadım. Bi kontrol edebilir misiniz?

    CREATE TRIGGER STK_DLT ON STK_LINE
    FOR DELETE
    AS
     declare 
     @productId int,
     @quantity int,
     @type int
    select @productId=ITEM_ID, @quantity=QTY, @type = TYPE_ from inserted
    IF @type <> 1  BEGIN
    update STOK_TBL set STOK-=@quantity where ITEM_ID=@productId
     END
     ELSE BEGIN
    update STOK_TBL set STOK+=@quantity where ITEM_ID=@productId
    END

    10 Haziran 2016 Cuma 08:42

Yanıtlar

  • Delete trigger diyorsun, ancak inserted tablosunu kullaniyorsun, neden? Bu insert, update trigger olmasin? Ya da delete trigger ise, deleted tablosunu kullanman gerekmez mi? Sanirim soyle bir sey:

    CREATE TRIGGER STK_DLT ON STK_LINE
        FOR DELETE
    AS
        BEGIN	
            DECLARE @productId INT ,
                @quantity INT ,
                @type INT;
            SELECT  @productId = ITEM_ID ,
                    @quantity = QTY ,
                    @type = TYPE_
            FROM    deleted;
            UPDATE  STOK_TBL
            SET     STOK = stok + ( CASE WHEN @type <> 1 THEN -1
                                         ELSE 1
                                    END * @quantity )
            WHERE   ITEM_ID = @productId;
        END;

    • Yanıt Olarak İşaretleyen facia026 10 Haziran 2016 Cuma 09:04
    10 Haziran 2016 Cuma 09:02