08/09/2006, 08:43
|
| | Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 3 meses Puntos: 0 | |
Tablas Gracias por contestar
Te paso los datos de la tabla, reducidos para que no ocupen tanto
La idea del left join es porder traer el orden, y la estructura del menu en items_front
Código:
CREATE TABLE SECCIONES
(
ID_SECCION INTEGER NOT NULL,
FK_ID_MODULO INTEGER,
FK_ID_SECCION INTEGER,
NOMBRE VARCHAR2(50 BYTE) NOT NULL,
BORRADO CHAR(1 BYTE) DEFAULT 0 NOT NULL,
HABILITADO CHAR(1 BYTE) DEFAULT 1 NOT NULL
)
CREATE UNIQUE INDEX PK_SECCIONES_ECCIONES_PKEY ON SECCIONES (ID_SECCION)
CREATE OR REPLACE TRIGGER swt_secciones_id
BEFORE INSERT ON secciones
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
WHEN (
NEW.id_seccion is null
)
BEGIN
SELECT secciones_id_seccion_seq.NEXTVAL INTO :NEW.id_seccion FROM DUAL;
END;
ALTER TABLE SECCIONES ADD (
CONSTRAINT PK_SECCIONES_ECCIONES_PKEY
PRIMARY KEY (ID_SECCION)
ALTER TABLE SECCIONES ADD (
CONSTRAINT FK_SECCIONES_K_ID_MODULO
FOREIGN KEY (FK_ID_MODULO)
REFERENCES MODULOS (ID_MODULO));
ALTER TABLE SECCIONES ADD (
CONSTRAINT FK_SECCIONES_K_ID_SECCION
FOREIGN KEY (FK_ID_SECCION)
REFERENCES SECCIONES (ID_SECCION));
Código:
CREATE TABLE ITEMS_FRONT
(
ID_ITEM_FRONT INTEGER NOT NULL,
FK_ID_ITEM_FRONT INTEGER,
NOMBRE VARCHAR2(50 BYTE) NOT NULL,
HABILITADO CHAR(1 BYTE) DEFAULT 1 NOT NULL,
BORRADO CHAR(1 BYTE) DEFAULT 0 NOT NULL,
FK_ID_APLICACION INTEGER,
FK_ID_SECCION INTEGER,
ORDEN INTEGER NOT NULL,
MENU_FRONT CHAR(1 BYTE) DEFAULT 1 NOT NULL
)
CREATE UNIQUE INDEX PKITEMSFRONTTEMSMENUFRONTPKEY ON ITEMS_FRONT (ID_ITEM_FRONT)
CREATE UNIQUE INDEX UNIQUEFKIDSECCIONFKIDAPLICACIO ON ITEMS_FRONT (FK_ID_APLICACION, FK_ID_SECCION)
CREATE OR REPLACE TRIGGER swt_items_front_id
BEFORE INSERT ON items_front
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
WHEN (
NEW.id_item_front is null
)
BEGIN
SELECT item_front_seq.NEXTVAL INTO :NEW.id_item_front FROM DUAL;
END;
ALTER TABLE ITEMS_FRONT ADD (
CONSTRAINT PKITEMSFRONTTEMSMENUFRONTPKEY
PRIMARY KEY
(ID_ITEM_FRONT)
ALTER TABLE ITEMS_FRONT ADD (
CONSTRAINT FK_ITEMS_FRONT_K_ID_APLICACION
FOREIGN KEY (FK_ID_APLICACION)
REFERENCES APLICACIONES (ID_APLICACION));
ALTER TABLE ITEMS_FRONT ADD (
CONSTRAINT FK_ITEMS_FRONT_K_ID_ITEM_FRONT
FOREIGN KEY (FK_ID_ITEM_FRONT)
REFERENCES ITEMS_FRONT (ID_ITEM_FRONT));
ALTER TABLE ITEMS_FRONT ADD (
CONSTRAINT FK_ITEMS_FRONT_K_ID_SECCION
FOREIGN KEY (FK_ID_SECCION)
REFERENCES SECCIONES (ID_SECCION));
Última edición por lenz; 08/09/2006 a las 08:44
Razón: me equivoque en un nombre de tabla
|