Tucucu.com
JOSÉ MONTORO lideriza las listas radiales en Latinoamérica con “Ehh Ohh” | Estos son los venezolanos más seguidos en Twitter | ¡Volvió volvió! Nokia 3310 regresa repotenciado | Estas son las señales que delatan que un hombre acaba de tener sexo | Chiquinquirá Delgado se reunió con el Papa Francisco | “decapitaciones” tendencia que nace del último desfile de Gucci | La banda Jinjer estrena el VideoLyric para el tema «Captain Clock» | La nueva moda de pintarse los vellos de las axilas, ¿lo harías? | Águila queda atrapado en el parachoques de un carro después de Matthew | Palabras cultas: Ostensión, mira su significado y como usarla |

SQL Server: ejecutar algo si existe o no algo en un query



Aquí te queremos mostrar algo que aunque es bastante básico puede que no todo el mundo lo ponga en práctica, sobre todo a la hora de hacer inserts o incluso los mismos update, es importante verificar primero si ese registro existe o no para poderlo modificar.
Las siguientes instrucciones para SQL server te ayudarán a hacer eso sin que se te parta la cabeza.
Como hacer un query donde haga un update solo si existe el registro
IF EXISTS (SELECT 1 FROM dbo.table WHERE PK = @PK)
BEGIN
  UPDATE dbo.table WHERE PK = @PK
END
Query donde te permite insertar un registro solo si este no existe en la tabla que quieres.
IF NOT EXISTS (SELECT 1 FROM dbo.table WHERE PK = @PK)
BEGIN
  INSERT INTO dbo.table (fields) values (all values);
END
Aquí te mostramos como puedes hacer un condicional completo, de como hacer si quieres primero verificar el registro para saber si modificar o insertar.
BEGIN TRANSACTION;
IF EXISTS (SELECT 1 FROM dbo.table WHERE PK = @PK)
  BEGIN
    UPDATE dbo.table WHERE PK = @PK
  END
ELSE
  BEGIN
    INSERT INTO dbo.table (fields) values (all values);
  END
COMMIT TRANSACTION;