Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   al establecer un foreign key es necesario poner un constraint ? (https://www.clubdelphi.com/foros/showthread.php?t=53225)

ingabraham 14-02-2008 14:57:03

al establecer un foreign key es necesario poner un constraint ?
 
ej
alter table tabla1 add foreing key (campo1) references tabla2(campo2),

en sql interbase
es necesario la clausula constraint antes del foreing key,


en si q es el constraint para q sirve?

maeyanes 14-02-2008 15:35:41

Hola...

Al menos en interbase/firebird, si es necesario usar constraint:

Código SQL [-]
alter table Tabla1 add constraint FK_Tabla1_Ref_Tabla2 foreign key (Campo1)
  references Tabla2(Campo2) on update cascade;

Y los constraint son las restricciones que tiene la tabla... las claves primarias, por ejemplo, establecen una restricción de que los valores no pueden ser repetidos ni nulos, las claves foraneas establecen que los valores a guardar deben existir en la tabla a la cual se hace referencia...


Saludos...

ingabraham 14-02-2008 16:02:03

Hola, gracias
 
on update cascade;
que significa?

Otra inquietud, en q motores de bdatos, no es necesario un constraint

gendelphi 14-02-2008 16:44:15

Si no indicas el nombre del constraint, el motor de base de datos le asignará un nombre de forma automática.
Código SQL [-]
alter table Tabla1 add foreign key (Campo1)
references Tabla2(Campo2) on update cascade;

El on update cascade significa que las actualizaciones que se realicen en el campo primario (Tabla2, Campo2) se actualizarán de forma automática en todos los registros de la Tabla 1, Campo 1. Asi mismo puedes usar ON DELETE CASCADE.


La franja horaria es GMT +2. Ahora son las 22:47:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi