¿Cómo funciona el EXIST en Ms SQL?
Los operadores "exists" y "not exists" se emplean para determinar si hay o no datos en una lista de valores. Estos operadores pueden emplearse con subconsultas correlacionadas para restringir el resultado de una consulta exterior a los registros que cumplen la subconsulta (consulta interior). Estos operadores retornan "true" (si las subconsultas retornan registros) o "false" (si las subconsultas no retornan registros).
Cuando se coloca en una subconsulta el operador "exists", MySQL analiza si hay datos que coinciden con la subconsulta, no se devuelve ningún registro, es como un test de existencia; MySQL termina la recuperación de registros cuando por lo menos un registro cumple la condición "where" de la subconsulta.
La sintaxis básica es la siguiente:
CREATE PROCEDURE dbo.TerminologiaInsert
@CodigoItaliano bigint,
@CodigoCIE varchar(50),
@CodigoSnomed varchar(50),
@Descripcion varchar(200)
AS
if(not exists( Select 1 from TerminologiaInterface where CodigoItaliano= @CodigoItaliano))
begin insert into TerminologiaInterface
( CodigoItaliano, CodigoCIE, CodigoSnomed, Descripcion )
values
( @CodigoItaliano, @CodigoCIE, @CodigoSnomed, @Descripcion )
select @@identity
end
else
begin
select -1
end
Referencias
https://www.tutorialesprogramacionya.com/mysqlya/temarios/descripcion.php?inicio=84&cod=93&punto=90
Comentarios