NO me permite crear TRIGGERS como SYS
HOla,
intento crear un trigger desde una sesion SYS y me dice que no es posible crear triggers como SYS...es esto posible?, El trigger lo necesito para incrementar una secuencia cada vez que se inserta en una tabla. Si tengo que crearlo como otro usuario distinto a SYS, ¿ debo de crear dicho trigger para cada usuario que accede al sistema?, es decir, ¿los triggers son particulares de cada usuario?, o ¿ tienen un ambito global en la base de datos?
Muchas gracias.
intento crear un trigger desde una sesion SYS y me dice que no es posible crear triggers como SYS...es esto posible?, El trigger lo necesito para incrementar una secuencia cada vez que se inserta en una tabla. Si tengo que crearlo como otro usuario distinto a SYS, ¿ debo de crear dicho trigger para cada usuario que accede al sistema?, es decir, ¿los triggers son particulares de cada usuario?, o ¿ tienen un ambito global en la base de datos?
Muchas gracias.
Hola:
Si es posible crear trigger con SYS, Ejemplo :
--Tabla de usuario Programacion:
create table prueba(
identificador integer,
valor integer,
constraint pk_identificador primary key(identificador))
insert into prueba values('1','10');
insert into prueba values('2','10');
insert into prueba values('3','10');
insert into prueba values('4','10');
insert into prueba values('5','10');
commit;
-- Trigger creado por sys
create or replace trigger prueba_trigger
before update on programacion.prueba
for each row
declare
-- local variables here
begin
-- Le suma el nuevo valor al anterior, solo si el nuevo valor es mayor(es solo de ejemplo)
if (:new.valor > :old.valor) then :new.valor:=:New.valor + :old.valor;
end if;
end prueba_trigger;
Lo mas importante es saber a que tabla afecta, y que quieres hacer con el trigger. Tambien puedes hacer trigger particulares para cada usuario.
Ojala que te sirva :)
www.comunidad-oracle.tk
Si es posible crear trigger con SYS, Ejemplo :
--Tabla de usuario Programacion:
create table prueba(
identificador integer,
valor integer,
constraint pk_identificador primary key(identificador))
insert into prueba values('1','10');
insert into prueba values('2','10');
insert into prueba values('3','10');
insert into prueba values('4','10');
insert into prueba values('5','10');
commit;
-- Trigger creado por sys
create or replace trigger prueba_trigger
before update on programacion.prueba
for each row
declare
-- local variables here
begin
-- Le suma el nuevo valor al anterior, solo si el nuevo valor es mayor(es solo de ejemplo)
if (:new.valor > :old.valor) then :new.valor:=:New.valor + :old.valor;
end if;
end prueba_trigger;
Lo mas importante es saber a que tabla afecta, y que quieres hacer con el trigger. Tambien puedes hacer trigger particulares para cada usuario.
Ojala que te sirva :)
www.comunidad-oracle.tk
