Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Crear un CONSTRAINT que chequee duplicidad de campos

Estas en el tema de Crear un CONSTRAINT que chequee duplicidad de campos en el foro de PostgreSQL en Foros del Web. Buenas amigos, estoy creando una tabla que maneje articulos por almacen, ahora busco como limitar que un articulo se duplique en un almacen determinado, para ...
  #1 (permalink)  
Antiguo 14/12/2016, 09:07
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 4 meses
Puntos: 19
Crear un CONSTRAINT que chequee duplicidad de campos

Buenas amigos, estoy creando una tabla que maneje articulos por almacen, ahora busco como limitar que un articulo se duplique en un almacen determinado, para ello quiero hacer uso de CONSTRAINT, Entonces
Si tengo un almacen con el codigo 2, y este posee 3 articulos (1,2,3), cuando intente agregar para dicho almacen el articulo 3 nuevamente, me bloquee y me informe que el almacen 2 ya posee el articulo 3, de esta manera evito que se dupliquen los archivos por almacen.

Muestro el codigo de mi tabla:
Código SQL:
Ver original
  1. CREATE TABLE public.art_almacen
  2. (
  3.   cart_almacen INTEGER NOT NULL DEFAULT NEXTVAL('seq_art_almacen'::regclass),
  4.   calmacen INTEGER NOT NULL,
  5.   carticulo INTEGER NOT NULL,
  6.   cant NUMERIC(11,2) NOT NULL,
  7.   CONSTRAINT fk_art_almacen PRIMARY KEY (cart_almacen)
  8.   USING INDEX TABLESPACE sistema_index
  9. )
  #2 (permalink)  
Antiguo 16/12/2016, 07:40
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 13 años
Puntos: 25
Respuesta: Crear un CONSTRAINT que chequee duplicidad de campos

La constraint unique te va a venir bien.

Dicha restricción es del estándar y se encarga de validar que los valores para una columna o una colección de columnas sean únicos.

Etiquetas: campos, constraint, duplicidad, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:48.