Danke euch allen nochmals für die Antworten. Ich hab leider (noch) wenig Ahnung von SP und versuch gerade mich einzulesen.
Ich hab hier mal ein Beispiel für Update geschrieben:
Wäre fein wenn noch wer von euch ein paar Zeilen dazu sagen könnte!
SP für Update/Insert von einem Eployee BO:
CREATE PROCEDURE SaveEmployee
(
@ID bigint,
@FirstName varchar(50),
@LastName varchar(50)
)
AS
IF @ID = 0 OR @ID = -1
BEGIN
INSERT INTO tblEmployee
(FirstName, LastName)
VALUES
(@FirstName, @LastName);
SELECT SCOPE_IDENTITY AS [SCOPE_IDENTITY];
END
ELSE
BEGIN
/*
Select * tblEmployee WHERE ID = @ID
SET VALUES ?!?
*/
UPDATE tblEmployee
SET
FirstName = @FirstName
LastName = @LastName
WHERE ID = @ID;
SELECT @ID;
END
Kann ich in der SP nicht "abfragen" ob ein Wert für ein Feld gesetzt/übergeben wurde?
Also zB ein
Select * From tblEmployee Where ID = @ID in der SP.
ausführen und die Werte die Fehlen mit den Daten von dem Select befüllen? Es würden dann zwar immer noch alle Felder updated werden aber mit den aktuellen Werten der DB. Die Kosten für das zusätzliche Select nehm ich gern in kauf.