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

1 Respuesta

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