Forum » Programiranje » 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!
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
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.
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | PostgreSQL pomočOddelek: Programiranje | 2520 (2013) | Mato989 |
» | UPDATE INTO v sam vnos zapisa (MYSQL)Oddelek: Programiranje | 879 (666) | SynTax64 |
» | SQL težavaOddelek: Programiranje | 5225 (4507) | joseti |
» | SQL poizvedbaOddelek: Programiranje | 2172 (1682) | borchi |
» | [T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?Oddelek: Programiranje | 2903 (2621) | dmok |