Necesito validar los campos en un procedimiento almacenado en SQL Server y no sé cómo hacerlo.

Tengo la siguiente pregunta necesito validar unos campos en un procedimiento almacenado que esta en sql server y no se como hacerlo.
Me explico tengo que hacer una validación que antes de que inserte unos campos necesito decirle uq eprimero valla busque un campo en especifico y un dato en espefico que se lo paso como parámetro desde mi aplicación y si lo encuentra que me salga un mensaje de error diciendo que no puedo insertar esos campos porque ya existen si no existen que los inserten si sabes como te lo agradezco
Respuesta
1
Existen dos tipos de procedimientos almacenados
--Los desencadenadores o trigger que no reciben parámetros y ejecutan su acción en Sqlserver después de la inserción, modificación o borrado.
y
--Los procedimientos almacenados (storeds procedures) al cual pueden o no recibir parámetros.
Ahora te mando un ejemplo:
Tenemos una tabla 'Clientes' con campos: id, nro_documentacion, nombre
Existe un registro 1,3004747,'Juan Pueblo' en la tabla 'Clientes'
Si queremos validar por un trigger o desencadenador podríamos escribir de la siguiente forma: (recuerda que el trigger se dispara una vez insertada el registro). Esto es a fin de validar que no se inserte un mismo cliente con varios nro de documento(dni)
create trigger clientes_ins on clientes  for insert
begin
 if (select count(*) from inserted, clientes  where                                                                                                                                                               inserted.nro_documentacion=clientes.nro_documentacion)>1
   begin
           raiserror('Clientes ya existe', 16, 1)
           rollback transaction
           return

   end
end
Esto es un ejemplo de una validación a nivel de stored procedure, este es el más factible de validar. Ya que el sp con o sin parámetros(el que no es trigger) puede depender más de la herramienta cliente que usas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas