On Delete Set Default
Hola
Tengo dos tablas: CLIENTE q tiene una foreign key a PROGRAMA, entonces necesito hacer q al borrar un programa, en CLIENTE me guarde un 0, q es un programa q nunca lo puedo modificar ni borrar. Entonces no se como declararlo, vi que se hace con un set default pero me da error al crearla. ALTER TABLE CLIENTE add constraint IDPROGRAMA FOREIGN KEY(IDPROGRAMA) REFERENCES PROGRAMA(IDPROGRAMA) ON DELETE SET DEFAULT 0 ON UPDATE CASCADE Ah uso INTERBASE A ver si alguien me puede ayudar Muchas gracias |
Saludos.
Primeramente tu campo IDPROGRAMA en tu tabla CLIENTE debe estar declarada con un valor por defecto, en este caso 0. Luego de esto para hacer que ese columna quede cero al borrar debes de poner:
|
El problema era que no sabia donde poner el valor por defecto, entonces lo que hice fue volver a crear la tabla asi:
CREATE TABLE CLIENTE (IDCLIENTE INTEGER NOT NULL, IDPROGRAMA INTEGER DEFAULT 0 NOT NULL, PRIMARY KEY(IDCLIENTE), FOREIGN KEY(IDPROGRAMA) REFERENCES PROGRAMA(IDPROGRAMA) ON DELETE SET DEFAULT ON UPDATE CASCADE); Muchas gracias por vuestro tiempo |
La franja horaria es GMT +2. Ahora son las 22:25:11. |
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