Transcript

ConstraintsPara cambiar las restricciones y la clave primaria de una tabla debemos usar ALTER TABLE. Crear una clave primaria (primary key): ALTER TABLE T_PEDIDOS ADD CONSTRAINT PK_PEDIDOS PRIMARY KEY (numpedido,lineapedido);Crear una clave externa, para integridad referencial (foreign key): ALTER TABLE T_PEDIDOS ADD CONSTRAINT FK_PEDIDOS_CLIENTES FOREIGN KEY (codcliente) REFERENCES T_CLIENTES (codcliente));Crear un control de valores (check constraint): ALTER TABLE T_PEDIDOS ADD CONSTRAINT CK_ESTADO CHECK (estado IN (1,2,3));Crear una restriccin UNIQUE: ALTER TABLE T_PEDIDOS ADD CONSTRAINT UK_ESTADO UNIQUE (correosid);Normalmente una restriccin de este tipo se implementa mediante un indice unico (ver CREATE INDEX). Borrar una restriccin: ALTER TABLE T_PEDIDOS DROP CONSTRAINT CON1_PEDIDOS;Deshabilita una restriccin: ALTER TABLE T_PEDIDOS DISABLE CONSTRAINT CON1_PEDIDOS;habilita una restriccin: ALTER TABLE T_PEDIDOS ENABLE CONSTRAINT CON1_PEDIDOS;la sintaxis ALTER TABLE para restricciones es: ALTER TABLE [esquema.]tabla constraint_clause,... [ENABLE enable_clause | DISABLE disable_clause] [{ENABLE|DISABLE} TABLE LOCK] [{ENABLE|DISABLE} ALL TRIGGERS];donde constraint_clause puede ser alguna de las siguientes entradas: ADD out_of_line_constraint(s) ADD out_of_line_referential_constraint DROP PRIMARY KEY [CASCADE] [{KEEP|DROP} INDEX] DROP UNIQUE (column,...) [{KEEP|DROP} INDEX] DROP CONSTRAINT constraint [CASCADE] MODIFY CONSTRAINT constraint constrnt_state MODIFY PRIMARY KEY constrnt_state MODIFY UNIQUE (column,...) constrnt_state RENAME CONSTRAINT constraint TO new_namedonde a su vez constrnt_state puede ser: [[NOT] DEFERRABLE] [INITIALLY {IMMEDIATE|DEFERRED}] [RELY | NORELY] [USING INDEX using_index_clause] [ENABLE|DISABLE] [VALIDATE|NOVALIDATE] [EXCEPTIONS INTO [schema.]table]Borrar una restriccin: ALTER TABLE T_PEDIDOS DROP CONSTRAINT CON1_PEDIDOS;


Top Related