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

[SOLUCIONADO] Psql puede usar restricciones de exclusividad?

Estas en el tema de Psql puede usar restricciones de exclusividad? en el foro de PostgreSQL en Foros del Web. Buenas... en esta oportunidad escribo para saber si en postgresql se puede utilizar una restriccion de exclusividad ya que al insertar una tabla y al ...
  #1 (permalink)  
Antiguo 12/01/2015, 21:23
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 10 años, 3 meses
Puntos: 0
Psql puede usar restricciones de exclusividad?

Buenas... en esta oportunidad escribo para saber si en postgresql se puede utilizar una restriccion de exclusividad ya que al insertar una tabla y al agregarle lo siguiente en una tabla

Código SQL:
Ver original
  1. CONSTRAINT nombre_restriccion_check CHECK ( columna_tabla  NOT IN (SELECT columna FROM OTRA_TABLA) )

ME DIC Q LA RESTRICCION CHECK NO PERMITE SUBCONSULTAS? no se si estoy equivocado o en postgresql se maneja distinto este tipo de restriccion?
  #2 (permalink)  
Antiguo 12/01/2015, 21:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Psql puede usar restricciones de exclusividad?

Primero: no, no admite subconsultas en el check. Eso lo podías verificar con solo leer el manual de referencia en la web oficial.

Segundo, ¿que se maneja distinto a que? ¿Con cual otro lo estás comparando?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/01/2015, 06:55
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Psql puede usar restricciones de exclusividad?

bueno lo q habia entendido de la restriccion era que era para comprobar un valor de una columna y pues pregunto es xq consegui un manual en pdf de base de datos(general) donde realizaban una subconsulta dentro del check e intente probar y empece a buscar para darle solucion a un problema q tengo =)

y lo q pretendia realizar era que un valor de una columna no se pueda repetir o utilizar en otra tabla q posee la misma columna
  #4 (permalink)  
Antiguo 13/01/2015, 07:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Psql puede usar restricciones de exclusividad?

CHECK es una clausula que posee comportamientos propietarios, es decir que su método de uso y capacidades variará de acuerdo al DBMS de que se trate. Pero de todos modos hasta lo que yo se, ni SQWL Server, ni Oracle, e incluso PostrgreSQL admiten subconsultas en el CHECK. AL menos el manual de referencia de esos BDBMS no lo incluyen.
De hecho, hay al menos uno que no tiene CHECK como clausula: MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/01/2015, 08:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Psql puede usar restricciones de exclusividad?

Es cierto. esto no es permitido. Las validaciones tan especificas, podrías tratar de manejarlas a traves de triggers o programación en general.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 13/01/2015, 19:04
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Psql puede usar restricciones de exclusividad?

bueno mil gracias x su ayuda =) queria consultarlo precisamente xq aparecia en el pdf y no dejaba en postgresql

Etiquetas: restriccion
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 18:25.