Oracle - fORANEAS

 
Vista:

fORANEAS

Publicado por fabian (4 intervenciones) el 01/08/2006 20:42:41
Hola que tal , me gustaria saber como agrego llaves foraneas en oracle. ¿es directamente en el constraint? asi?:

alter table Item add(
/* CONSTRAINT COMUNES */
constraint ite_pk_cp foranean key (cantidad_producto))
/
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:fORANEAS

Publicado por Rodolfo Reyes (445 intervenciones) el 02/08/2006 06:22:33
Es manos o menos asi:

alter table esquema.nombre_tabla
add constraint nombre_constraint FOREIGN KEY (campo1, campo2,... , campoN)
REFERENCES esquema.tabla_padre (campo1, campo2,... , campoN)
/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:fORANEAS

Publicado por fabian (4 intervenciones) el 02/08/2006 15:08:10
Gracias, cuando hago un solo cosntraint de llave foranea a una tabla me altera la tabla. pero cuando hago el segundo cosntraint a la misma tabla me sale este mensaje:

SQL> start ccItems
Input truncated to 1 characters
constraint iit_fk_cp FOREIGN KEY (cantidad_producto)
*
ERROR at line 3:
ORA-02275: such a referential constraint already exists in the table
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:fORANEAS

Publicado por Rodolfo Reyes (445 intervenciones) el 02/08/2006 16:54:49
Eso error quiere decir que estas intentando crear un nuevo constraint con diferente nombre hacia exactamente con las mismas condiciones de otro que ya existe.

Si lo que quieres es modificar un constraint. Lo mas sencillo es eliminarlo y luego lo creas de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:fORANEAS

Publicado por JSL (186 intervenciones) el 02/08/2006 18:24:47
alter table b add constraint ch_ba foreign key(b1,b2) references a(a1,a2);

Donde references a(a1,a2) dice que va a hacer referencia a la tabla A con las colunas a1 y a2, la tabla A debe tener un indice unico por las columnas A2, A2 o las llave primaria por las columnas A1 y A2

Si no sabes cuales constraints estan sobre la tabla, busca en este objeto

SQL> desc all_constraints
Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar