Trigger con secuenciador
Tengo problemas con un trigger. Tengo que insertar datos a una tabla y deseo que un campo sea secuenciador, que no se repita:
Mi secuencia esta creada así:
Create sequence "juan"."SEC_P_C" INCREMENT BY 1 START WITH 1
MAXVALUE 1.0E28 MINVALUE 1 CYCLE
CACHE 20 NOORDER
Mi TRIGGER SE HA CREADO así:
CREATE OR REPLACE TRIGGER "JUAN"."TRI_P_C" BEFORE
INSERT ON "PRI_CONTRIBUYENTES" FOR EACH ROW
BEGIN
:NEW.NUM_SEC := SEC_P_C.NEXTVAL;
END;
LA ESTRUCTURA DE MI TABLA PRI_CONTRIBUYENTES ES:
NUM_SEC NUMBER 10 NOT NULL
AP_PATERNO VARCHAR2(20) , ....
EL CAMPO NUM_SEC LLAVE UNICA
EL PROBLEMA ES CUANDO EJECUTO O COMPILO EL TRIGGER DA EL SIGUIENTE ERROR:
Número de Línea = 2 Número de Columna = 25 Texto de Error = PLS-00357: Table,View Or Sequence reference 'SEC_P_C.NEXTVAL' not allowed in this context
Número de Línea = 2 Número de Columna = 1 Texto de Error = PL/SQL: Statement ignored
No me permite usar un secuenciado en el trigger.
Quisiera que me ayudes, tal vez hay que definir otros parámetros para que los triguer acepten los comandos de nextval entre el begin y end del trigger, no se.
CUANDO HAGO UN INSERT ME SALE UN ERROR:
ORA-04098: ¿Trigger? JUAN.TRI_P_C? Is invalid and failed re-valitation
Cuando elimino el trigger me permite ingresar datos.
Por otro lado quisiera que me ayudes en este otro:
En que tipo de datos de oracle debo almacenar unos archivos gráficos .jpg o .bmp
quisiera que me comentes si has tenido experiencia en esto, como se define las tablas, espacios, es muy pesado, tengo que ingresar 50000 registros un 3 gráficos .jpg y mostrarlos por pantalla.
Te estaré agradecido por siempre. Jantezana
Mi secuencia esta creada así:
Create sequence "juan"."SEC_P_C" INCREMENT BY 1 START WITH 1
MAXVALUE 1.0E28 MINVALUE 1 CYCLE
CACHE 20 NOORDER
Mi TRIGGER SE HA CREADO así:
CREATE OR REPLACE TRIGGER "JUAN"."TRI_P_C" BEFORE
INSERT ON "PRI_CONTRIBUYENTES" FOR EACH ROW
BEGIN
:NEW.NUM_SEC := SEC_P_C.NEXTVAL;
END;
LA ESTRUCTURA DE MI TABLA PRI_CONTRIBUYENTES ES:
NUM_SEC NUMBER 10 NOT NULL
AP_PATERNO VARCHAR2(20) , ....
EL CAMPO NUM_SEC LLAVE UNICA
EL PROBLEMA ES CUANDO EJECUTO O COMPILO EL TRIGGER DA EL SIGUIENTE ERROR:
Número de Línea = 2 Número de Columna = 25 Texto de Error = PLS-00357: Table,View Or Sequence reference 'SEC_P_C.NEXTVAL' not allowed in this context
Número de Línea = 2 Número de Columna = 1 Texto de Error = PL/SQL: Statement ignored
No me permite usar un secuenciado en el trigger.
Quisiera que me ayudes, tal vez hay que definir otros parámetros para que los triguer acepten los comandos de nextval entre el begin y end del trigger, no se.
CUANDO HAGO UN INSERT ME SALE UN ERROR:
ORA-04098: ¿Trigger? JUAN.TRI_P_C? Is invalid and failed re-valitation
Cuando elimino el trigger me permite ingresar datos.
Por otro lado quisiera que me ayudes en este otro:
En que tipo de datos de oracle debo almacenar unos archivos gráficos .jpg o .bmp
quisiera que me comentes si has tenido experiencia en esto, como se define las tablas, espacios, es muy pesado, tengo que ingresar 50000 registros un 3 gráficos .jpg y mostrarlos por pantalla.
Te estaré agradecido por siempre. Jantezana
1 respuesta
Respuesta de albrico
1