Validar campos

Brownsea mi consulta es la siguiente
Mira de un sistema me envían información a una tabla, lo que yo necesito es validar el campo clave para que aparte de ser único necesito que tenga una cantidad mínima de ingreso.
Por si te sirve de algo la información que me envían a esta tabla es un código de barras y a veces la pistola capturadora de este código no lo lee completo. El sistema no valida nada solo envía la información a esta tabla por ende yo tengo que hacer que esta tabla valide de alguna forma.
Yo soy relativamente nuevo en sql server.

1 respuesta

Respuesta
1
Lo que debes hacer es crear un Trigger del tipo Insert en esa tabla, de tal forma que puedas validar el campo clave y la consistencia de tus datos a insertar.
Te envío un link de referencia.
http://technet.microsoft.com/es-es/library/ms189799(SQL.90).aspx
¿Esa página que me enviaste es de sql server 2005 me servirá si lo que yo esto intentando hacer es en sql server 2000?
Así es,
En cuanto a los triggers la creación de estos es lo mismo tanto es SQL 2000 o SQL 2005.
Cualquier consulta adicional me avisas.
No tendrías un ejemplo algo simple de un trigger para poder tomarlo de base te lo agradecería mucho
Claro, voy a definir una tabla y su respectivo trigger
Create table ejemplo (id int, texto varchar(10))
Acá la idea sera de que cada valor insertado en ejemplo no exista en la bd o sea mayor 100 (esto ultimo para que tengas un ejemplo de validación)
Como tu usas SQL 2000 usaremos un trigger convencional ya que en esta version no existe el INSTEAD OFF
Como el aplicativo graba en la tabla, tu debería insertar esos registros trabados en otra tabla siempre y cuando este correctamente ingresado o no exista en la tabla.
create trigger Ejemplo_VAlida
ON Ejemplo
FOR insert
as
    --La tabla nueva donde estara la info se llamara Destino y tendra la misma estructura que Ejemplo
insert into Destino
select a.id, a.texto
from inserted a left join destino b on a.id= b.id
where    a.id>100 and   --aca garantizamos la validacion de mayor a 100
              b.Id is null -- aca garantizamos q no exista en el destino los datos
Otra consulta disculpa que sea tan molesto pero como te dije soy realmente nuevo en esto
¿Para poder hacer la validación se necesita usar otra tabla?
No te preocupes.
Si no puedes controlar el proceso que hace que graba en la tabla (ya sea un sp o un proceso de lector de códigos) te recomiendo que uses otra tabla que copie de esta primera y donde puedas hacer todas tus validaciones.
Pero la información validada quedara en la tabla nueva en este caso en destino o quedara en la tabla ejemplo
Lo que pasa es que a mi me pasaran los datos directo a esa tablay esa tabla es la que tengo que usar para llenar otra
Pero usa de puente la tabla ejemplo y usa para tus procesos la tabla destino, creo que es lo mejor para que puedas tener tus datos validados.
Brownsea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas