Jackery IFA Fireplace

SQL StoredProcedure Neue Zeile wenn Keine da

Murphy9904

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
344
Hi,

erstmal vorweg ich bin in SQL nicht so ein Held. Ist jetzt ne ganz simple Frage.
und zwar scheitere ich schon bei einem normalen IF

Ich will im Prinzip will ich sowas machen:
(alles was ich hinbekomm hab ich soweit schon geschrieben)

Declare @id int

If (Select id from X where FeldX is null) ist nicht leer
then
@id = die letzte von den gefundenenIDs
else
Insert into X (Das insert bekomm ich hin :) )
Set @id = @@Identity
end


mit der ID mach ich dann noch andres zeug aber das funktioniert schon alles :)

Hoffe jemand kann mir bei dem IF helfen :)

Danke

Murphy
 
Welche Datenbank hast du?

Du kannst ggf. folgenden Syntax nutzen:
Code:
INSERT INTO table (uniquefield, valuefield) VALUES (id, value)
ON DUPLICATE KEY UPDATE value=VALUES(value)
 
Obiges gilt für MySQL - in SQLite gilt bspw. REPLACE INTO. Wird bei anderen RDBMS bestimmt nicht gänzlich anders sein.
 
MSSQL hab ich

Ich versteh den Query nicht ganz aber macht der nicht am ende ein Update?

Also wenn eine Zeile Exsistiert bei der ein FeldX null ist dann möchte ich die ID von dieser Zeile haben
ansonsten möchte ich eine neue Zeile hinzufügen.
 
Probiers mal damit:
Code:
DECLARE @ID int;

SELECT
	@ID = id
FROM
	X
WHERE
	FeldX IS NULL

IF (@ID IS NULL)
BEGIN
  INSERT INTO
		X
		...
	
	SET @ID = @@IDENTITY;
END
 
Zurück
Oben