Sql Trigger

M

Moritz1234

Mitglied
Hallo, ich habe zwei Tabellen die heizten Person und Wohnort.
Ich möchte das in der Tabelle Wohnort im Attribut Ort ab sofort nur noch Großbuchstaben verwendet werden.
Wie kann ich dazu einen Trigger schreiben? Ich hab einiges versucht aber ich glaube ich bin einfach komplett daneben.. Danke falls jemand helfen kann!
 
kneitzel

kneitzel

Top Contributor
Also das ist von Datenbank zu Datenbank erst einmal unterschiedlich, da diese in der Sprache unterschiedlich sind. Was für mysql geht, wird für MS SQL oder Oracle nicht hin hauen.

Aber da könnte man z.B. AFTER INSERT und AFTER UPDATE Trigger schreiben, die dann die notwendige Änderung machen.

Also einfach einmal mehr Details schreiben:
- Was für eine Datenbank verwendest Du?
- Was hast Du probiert?
- Welchen Fehler hast Du bekommen?
 
M

Moritz1234

Mitglied
Also das ist von Datenbank zu Datenbank erst einmal unterschiedlich, da diese in der Sprache unterschiedlich sind. Was für mysql geht, wird für MS SQL oder Oracle nicht hin hauen.

Aber da könnte man z.B. AFTER INSERT und AFTER UPDATE Trigger schreiben, die dann die notwendige Änderung machen.

Also einfach einmal mehr Details schreiben:
- Was für eine Datenbank verwendest Du?
- Was hast Du probiert?
- Welchen Fehler hast Du bekommen?
Ich benutze SQLDeveloper (Oracel). Ehrlich gesagt bin ich mir nicht ganz sicher mit After und before. Ich habe irgendwie ein Spaghetti Code geschrieben den ich wieder gelöscht habe, da wahrscheinlich alles komplett falsch war. Ich bin sehr frisch in dem Bereich und wir bekommen sehr viel auf einmal zugestopft deshalb bin ich etwas am verzweifeln..
 
M

Moritz1234

Mitglied
Also das ist von Datenbank zu Datenbank erst einmal unterschiedlich, da diese in der Sprache unterschiedlich sind. Was für mysql geht, wird für MS SQL oder Oracle nicht hin hauen.

Aber da könnte man z.B. AFTER INSERT und AFTER UPDATE Trigger schreiben, die dann die notwendige Änderung machen.

Also einfach einmal mehr Details schreiben:
- Was für eine Datenbank verwendest Du?
- Was hast Du probiert?
- Welchen Fehler hast Du bekommen?
Und ich Sollte Row trigger am besten verwenden in diesem Fall oder? Damit jeder Datensatz angestoßen wird in der Spalte orte?
 
mihe7

mihe7

Top Contributor
Sollte in etwa so aussehen:
SQL:
CREATE OR REPLACE TRIGGER person_before_insert_update
    BEFORE INSERT OR UPDATE ON person
    FOR EACH ROW
BEGIN
    :new.ort := upper(:new.ort);
END;
 
mihe7

mihe7

Top Contributor
Bitte, probiers aber erstmal aus, ganz sicher bin ich mir nicht, denn mit Oracle hatte ich zuletzt vor 10+ Jahren zu tun. Könnte aber hinkommen :)
 

Ähnliche Java Themen

Anzeige

Neue Themen


Oben