» »

sql - trigger

sql - trigger

boozzyy ::

Zanima me kako si zapomniš vrednost določenega stolpca (v trigger-ju) preden izbrišeš neko vrstico. Primer:

CREATE TRIGGER [Spremeni] ON dbo.Tabela
AFTER DELETE
AS
DECLARE
@priimek varchar(30)

-- tu bi rad dobil vrednost stolpca (@priimek) vrstice, ki se bo s tirgger-jem zbrisala

UPDATE Tabela
SET zapis=zapis-1
WHERE priimek=@priimek

Če razumete bi rad vsem vrsticam, ki imajo stolpec priimek enak tistemu, ki ga izbrišeš iz baze, zmanjšal vrednost stolpca zapis.

HVALA!

boozzyy ::

Mi je že uspelo rešiti. Če koga zanima zgleda rešitev takole:

CREATE TRIGGER [Spremeni] ON dbo.Tabela
AFTER DELETE
AS
DECLARE
@priimek varchar(30)

SELECT @priimek = (SELECT priimek FROM Deleted)

UPDATE Tabela
SET zapis=zapis-1
WHERE priimek=@priimek

frudi ::

problem bo, če kdaj zbrišeš več vrstic naenkrat... zato bi jaz naredil malo drugače:

CREATE TRIGGER [trgTabelaAfterDelete] ON dbo.Tabela
AFTER DELETE
AS

UPDATE Tabela
SET zapis = zapis - 1
FROM Deleted
WHERE Tabela.priimek = Deleted.priimek


če sedaj zbrišeš več vrstic z različnimi priimki naenkrat, se bo zapis pravilno updatal za vse zbrisane priimke.
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PostgreSQL pomoč

Oddelek: Programiranje
162520 (2013) Mato989
»

UPDATE INTO v sam vnos zapisa (MYSQL)

Oddelek: Programiranje
5879 (666) SynTax64
»

SQL težava

Oddelek: Programiranje
365225 (4507) joseti
»

SQL poizvedba

Oddelek: Programiranje
152172 (1682) borchi
»

[T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?

Oddelek: Programiranje
162903 (2621) dmok

Več podobnih tem