- Este tópico contém 5 respostas, 3 vozes e foi atualizado pela última vez 18 anos, 11 meses atrás por
Mayhem.
-
AutorPosts
-
11 de abril de 2007 às 2:04 am #79199
Mayhem
ParticipanteBoa Noite,
Estou tentando criar uma Trigger com esse comando:
BEGIN
SELECT seq_rule_time.nextval
INTO :NEW.id_seq FROM DUAL;
END;na hora de criar ele me gera esse erro,
”
ORA-000942: a tabela ou view nao existevocê nao tem privilegios suficientes para executar esta
operacao. Você deve ter privilegios de sistema e de objeto
apropriado para criar, editar ou eliminar objetos de banco de
dados ou objetos que estao fora do seu esquema.
”Sendo que eu conecto no Oracle como SysDBA e nao consigo gerar essa Trigger, alguem sabe como eu devo proceder?? preciso de que permissao pra poder gerar essa Trigger???
Valeu Pessoal
T+11 de abril de 2007 às 4:09 am #79200Marcio68Almeida
ParticipanteProvavelmente você não está referenciando corretamente a tabela onde vai criar a trigger…
11 de abril de 2007 às 3:42 pm #79201chduarte
ParticipanteVc pode estar criando a trigger referenciando uma tabela em outro schema. Por exemplo, vc esta conectando como sys e tentando criar a trigger para a tabela apps.xxxtabelateste
Neste caso tente colocar o owner da tabela na criacao da trigger.
[]
11 de abril de 2007 às 6:10 pm #79218Mayhem
ParticipanteBom dia,
Entao meu objetivo é criar um autonumerico para um determinado campo, criei uma sequencia ja especificando um esquema e na hora de criar a bendita Trigger ele me da esse erro, na trigger eu tambem especifico o esquema e a tabela a ser criada a trigger.
BEGIN
SELECT seq_rule_time.nextval
INTO :NEW.id_seq FROM DUAL;
END;Por favor alguem pode me ajudar a criar esse autonumerico.
Valeu T+11 de abril de 2007 às 6:21 pm #79221chduarte
Participantecreate table autoinc(n number, nome varchar2(30));
create sequence autoinc_s;
create or replace trigger bi_autoinc
before insert on autoinc
for each row
begin
select autoinc_s.nextval into :new.n from dual;
end;
/
insert into autoinc(nome) values('Nome 1');
insert into autoinc(nome) values('Nome 2');
commit;
select *
from autoinc;N NOME
1 Nome 1 2 Nome 2[]
11 de abril de 2007 às 6:28 pm #79222Mayhem
Participante[quote=”chduarte”:2vy6he0m]
create table autoinc(n number, nome varchar2(30));
create sequence autoinc_s;
create or replace trigger bi_autoinc
before insert on autoinc
for each row
begin
select autoinc_s.nextval into :new.n from dual;
end;
/
insert into autoinc(nome) values('Nome 1');
insert into autoinc(nome) values('Nome 2');
commit;
select *
from autoinc;N NOME
1 Nome 1 2 Nome 2[][/quote]
Valeu a ajuda Carlos, Consegui criar!!!
T+ -
AutorPosts
- Você deve fazer login para responder a este tópico.