Restricción - Controlar que un campo acepte solo el nombre de campo de otra tabla.

08/08/2005 - 18:55 por Marcelo Clavero | Informe spam
Estimados, mi primer consulta al grupo.

Tengo 2 tablas, y quiero restringir el contenido de la columna "campovalido"
de la "Tabla1" con un nombre de columna existente en la "Tabla2".

¿ Cómo sería la expresión de la restricción check ?.

Y ya que estamos les pregunto
¿ se puede usar funciones de usuario y/o procedim. en la expresión de
restricción ?, ya que probé y nada.
Tampoco me funcionó desde allí una subconsulta con EXISTS al
INFORMATION_SCHEMA.COLUMNS.

Gracias desde ya...
Marcelo Clavero

Preguntas similare

Leer las respuestas

#1 Maxi
08/08/2005 - 19:57 | Informe spam
Hola, deberias crear una funcion que haga el check a la tabla
information_schema.columns, sino tambien lo podrias generar via triggers


Salu2
Maxi


"Marcelo Clavero" escribió en el mensaje
news:%
Estimados, mi primer consulta al grupo.

Tengo 2 tablas, y quiero restringir el contenido de la columna
"campovalido"
de la "Tabla1" con un nombre de columna existente en la "Tabla2".

¿ Cómo sería la expresión de la restricción check ?.

Y ya que estamos les pregunto
¿ se puede usar funciones de usuario y/o procedim. en la expresión de
restricción ?, ya que probé y nada.
Tampoco me funcionó desde allí una subconsulta con EXISTS al
INFORMATION_SCHEMA.COLUMNS.

Gracias desde ya...
Marcelo Clavero


Respuesta Responder a este mensaje
#2 Marcelo Clavero
08/08/2005 - 23:55 | Informe spam
Muchas Gracias Maxi, estuve probando y vislumbro que con Triggers podré
resolverlo bien.

De todas formas me gustaría saber cómo puedes utilizar una función check
desde la expresión de Restricción (dado que lo nombras como alternativa al
Trigger) He probado con funciones bien simplotas, y me da siempre "error al
validar la restricción".

Por ejemplo, si tengo una función llamada mifuncion() que siempre devuelve 1
sin necesidad de parámetros.
Y en la caja de restricción (que se supone lleva una expresión de
comparación booleana) escribo:
micampo=mifuncion(), siendo micampo de tipo int da el error, cuando en
realidad tendría que validar el INSERT solo si micampo=1. ¿ verdad ?. Es
un probñema de sintaxis o no se puede poner fuinciones alli ?

Probé también ponierndo micampo=select(mifuncion()) y nadaaaa...

Gracias x 10000, igual ya ha sido muy valiosa la respuesta anterior.-

Saludos
Marcelo.




"Maxi" escribió en el mensaje
news:
Hola, deberias crear una funcion que haga el check a la tabla
information_schema.columns, sino tambien lo podrias generar via triggers


Salu2
Maxi


"Marcelo Clavero" escribió en el mensaje
news:%
> Estimados, mi primer consulta al grupo.
>
> Tengo 2 tablas, y quiero restringir el contenido de la columna
> "campovalido"
> de la "Tabla1" con un nombre de columna existente en la "Tabla2".
>
> ¿ Cómo sería la expresión de la restricción check ?.
>
> Y ya que estamos les pregunto
> ¿ se puede usar funciones de usuario y/o procedim. en la expresión de
> restricción ?, ya que probé y nada.
> Tampoco me funcionó desde allí una subconsulta con EXISTS al
> INFORMATION_SCHEMA.COLUMNS.
>
> Gracias desde ya...
> Marcelo Clavero
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida