Hallo allerseits,

Ich habe zwei Tabellen, ''mitarbeiter' und 'abteilung'. Die Spalte 'abtID' ist in der Tabelle 'mitarbeiter' Fremdachl�sselspalte
und in der Tabelle 'abteilung' Prim�rschl�ssel.


Wenn ich nun einen neuen Mitarbeiter zur Tanbelle 'mitarbeiter' hinzuf�gen m�chte, kann ich ja nicht irgendeinen Wert als
Wert f�r die Spalte 'abtID' angeben, vondem ich nicht weiss, ob eine Abteilung mit genau diesem Wert existent ist.
Ich muss also doch erst in der Tabelle 'abteilung' pr�fen, ob die entsprechende Abteilung, die ich der Prozedur �bergebe, existent ist. Ist das der Fall, so m�chte ich �ber eine SQL-Anweisung den Wert der Spalte 'abtID' der Abteilung ermitteln um diese dann in Verbindung mit dieser in die Tabelle 'mitarbeiter' einf�gen zu k�nnen...


Nun meine Fragen an Euch:
1.W�rde man so vorgehen, oder ist das Eurer Meinung nach um f�nf Ecken gedacht?
2.Ich bekomme eine Meldung "ADO-Fehler: Falsche Syntax in der N�he des AS-Schl�sselwortes"; was mache ich denn hier falsch?
3.Wie w�rdet Ihr bei sowas vorgehen?
Viele Gr�sse
lars


CREATE PROCEDURE dbo.StoredProcedure1
@lastname varchar,
@firstname varchar,
@phone  varchar,
@gehalt decimal,
@abteilung varchar,

AS
if exists (SELECT abtID
        FROM abteilung
        Where abtname = @abteilung)
        PRINT 'Abteilung existiert nicht!'
ELSE

BEGIN TRAN

DECLARE @abtID int

SELECT @abtID = abtID
FROM abteilung
Where abtname = @abteilung
INSERT INTO mitarbeiter
VALUES (@lastname, @firstname, @phone, @gehalt, @abtID)
COMMIT TRAN


/* SET NOCOUNT ON */ RETURN






www.zoologie-online.de


Lars Berner
Stormcrow-Software
Postfach: 110123
69071 Heidelberg

---
Ausgehende Mail ist zertifiziert virenfrei.
�berpr�ft durch AVG Antivirus System (http://www.grisoft.com/de).
Version: 6.0.471 / Virendatenbank: 269 - Erstellungsdatum: 10.04.2003

Antwort per Email an