Eduardo Sugestão: também pode fazer um INSERT ... SELECT direto (sem cursor explícito).
[ ] André Em 2 de dezembro de 2014 17:30, Marlon Pasquali - TI - Peccin S.A. marlon.pasqu...@peccin.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: > > > Sim, > > Sempre que você for ler um cursor, você vai usar o seu index. > > > > > > *Syntax* > > The syntax for the *CURSOR FOR LOOP* in Oracle/PLSQL is: > > FOR record_index in *cursor_name* > > LOOP > > {...statements...} > > END LOOP; > > *Parameters or Arguments* > > *record_index* is the index of the record. > > *cursor_name* is the name of the cursor that you wish to fetch records > from. > > *statements* are the statements of code to execute each pass through the > CURSOR FOR LOOP. > > > > Att > > Marlon > > > > > > > > *De:* oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] > *Enviada em:* terça-feira, 2 de dezembro de 2014 17:21 > *Para:* oracle_br@yahoogrupos.com.br > *Assunto:* Re: [oracle_br] Re: Ajuda com trigger para incluir permissão > > > > > > Compilou aqui , mas esse rec são os dados que o cursor referencia ? > > > > Em 2 de dezembro de 2014 16:44, Marlon Pasquali - TI - Peccin S.A. > marlon.pasqu...@peccin.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> > escreveu: > > > > Voce tem que colocar > > > > VALUES( rec.matricula, 3, ' ', :new.codfornec, > 1, SYSDATE); > > > > > > *De:* oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] > *Enviada em:* terça-feira, 2 de dezembro de 2014 16:43 > *Para:* oracle_br@yahoogrupos.com.br > *Assunto:* [oracle_br] Re: Ajuda com trigger para incluir permissão > > > > > > Pesquisando o erro consertei essa linha: > > > > VALUES( empregados.matricula, 3, ' ', :new.codfornec, > 1, SYSDATE); > > > > Agora só ficou o erro : > > > > PL/SQL: ORA-00984: column not allowed here > > > > > > > > Em 2 de dezembro de 2014 16:15, Eduardo Perdomo <panc...@gmail.com> > escreveu: > > Boa tarde. > > > > Preciso criar uma trigger que ao cadastrar um novo fornecedor > automaticamente inclua permissão de acesso. > > Tenho a tabela fornecedores, empregados e liberação. > > Preciso , que ao cadastrar um novo fornecedor, varrer todo o cadastro de > empregados e incluir a permissão na tabela liberação para todos os > empregados. > > > > Segue abaixo o que estou tentando: > > > > > > CREATE OR REPLACE TRIGGER insere_131 > > BEFORE > > INSERT > > ON fornecedores > > REFERENCING NEW AS NEW OLD AS OLD > > FOR EACH ROW > > DECLARE > > cursor c_t is select matricula from empregados ; > > > > BEGIN > > > > for rec in c_t loop > > INSERT INTO liberacao(CODFUNC, CODTABELA, CODIGOA, CODIGON, > CODFUNC_LIB, DATA_LIB) > > VALUES( c_t.matricula, 3, ' ', :new.codfornec, > 1, SYSDATE); > > end loop; > > END insere_131; > > > > > > Os erros: > > PLS-00225 > > ORA-00984 > > > > > > > > > > > > > > > > > > Eduardo Perdomo > > Consultor de Implantação > > Grupo PC Sistemas - www.grupopc.com.br > > (21) 6845-8592 > > panc...@gmail.com > > eduardo.perd...@pcinformatica.com.br > > Blog: eduardo.perdomo.nom.br > > > > > > -- > > > > Eduardo Perdomo > > Consultor de Implantação > > Grupo PC Sistemas - www.grupopc.com.br > > (21) 6845-8592 > > panc...@gmail.com > > eduardo.perd...@pcinformatica.com.br > > Blog: eduardo.perdomo.nom.br > > > > > > -- > > > > Eduardo Perdomo > > Consultor de Implantação > > Grupo PC Sistemas - www.grupopc.com.br > > (21) 6845-8592 > > panc...@gmail.com > > eduardo.perd...@pcinformatica.com.br > > Blog: eduardo.perdomo.nom.br > > >