Sto cercando un modo più efficiente di completare questa attività. Devo impostare una variabile uguale a un ID se esiste, e se non la inserisco e quindi impostare la variabile sull'identità inserita. Posso fare questo nel modo seguente:SQL Server Imposta variabile se esiste altrimenti inserisce nella tabella
@VariableName --sent through to stored procedure
DECLARE @VariableID [int]
IF EXISTS(SELECT VariableID FROM VariableTable WHERE VariableName = @VariableName)
SET @VariableID = (SELECT VariableID FROM VariableTable WHERE VariableName = @VariableName)
ELSE
INSERT INTO VariableTable(VariableName) VALUES(@VariableName)
SET @VariableID = SCOPE_IDENTITY();
END
Tuttavia sembra inefficiente per eseguire la stessa query due volte (verificare se esiste e se non impostare la variabile)
Solo in cerca di suggerimenti su un modo migliore per realizzare questo compito.
+1 per la sintassi SET, per ansi. – goodeye