Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   trigger (https://www.delphipraxis.net/153162-trigger.html)

arcon 23. Jul 2010 09:57

Datenbank: ms sql • Version: 2005 • Zugriff über: ...

trigger
 
Guten morgen,

ich habe die aufgabe bekommen, einen bzw. mehrere trigger zu schreiben.

und zwar folgendes problem.

ich habe eine tabelle User die wie folgt aufgabaut ist.

user_no | description | user_name
1 | müller | müllma
2 | schmidt | schmth
3 | schraube | schrth

und eine tabelle group_user

param_group_no | user_no
1 | 1
1 | 3
2 | 1
2 | 3
3 | 2
nun zu meinem problem ..
wenn ich in tabelle user die user_no = 3 lösche .. möchte ich in der tabelle group_user alle datensätze löschen, in der die user_no = 3 ist

ich soll das ganze über einen trigger machen .. ich weiß , dass es einfacher ist, wenn man das ganze über relationships macht ..

was muss man den in das querry des triggers reinschreiben, damit er die aufgabe erfüllt ?

danke für eure mithilfe

fkerber 23. Jul 2010 10:07

AW: trigger
 
Hi!

Ich kenne die genaue Syntax von MS SQL nicht und weiß auch nicht, welche Eingabemöglichkeiten du hast, aber sinngemäß sollte es so aussehen:

SQL-Code:
CREATE or REPLACE TRIGGER trigger_name
AFTER DELETE
    ON User
    FOR EACH ROW
BEGIN
    DELETE FROM group_user WHERE user_no = :NEW.user_no
END;

Btw. ist User imho ein schlechter Name für eine Tabelle weil Schlüsselwort.

Liebe Grüße,
Frederic

DeddyH 23. Jul 2010 10:11

AW: trigger
 
Das scheint unter MS SQL nicht ganz so einfach zu sein (man muss wohl auf Deleted zugreifen, wenn ich das richtig überflogen habe).
http://www.devarticles.com/c/a/SQL-S...-SQL-Server/2/
http://www.tutorials.de/relationale-...ter-mssql.html

omata 23. Jul 2010 12:18

AW: trigger
 
SQL-Code:
CREATE TRIGGER trigger_name ON user FOR DELETE
AS
DELETE FROM group_user
WHERE user_no IN (SELECT user_no
                   FROM deleted)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz