Jump to content

cfreis01

Members
  • Content count

    10
  • Joined

  • Last visited

Community Reputation

0 Comum

About cfreis01

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. cfreis01

    Erro na importação de arquivo

    Boa tarde galera Estou tentando importar um arquivo e esta dando o erro ORA-29282 ID de arquivo invalido Alguem pode me ajudar? Procedure File_Open(Pdiretorio Varchar2, Parquivo Varchar2, Pmodo Char) Is Msg Varchar2(200); BEGIN O erro esta dando neste UTL_Open abaixo, abaixo esta oq cada variavel esta carregando -- pdiretorio esta vindo o diretorio do arquivo, p arquivo esta vindo o nome do arquivo que quero importar o Pmodo esta retornando 'R' Utl_Open := Utl_File.Fopen(Pdiretorio, Parquivo, Pmodo,32713); Exception When Utl_File.Invalid_Path THEN Msg := 'Diretorio invalido: ' || Pdiretorio; Lib_Proc.Add_Log(Msg || Sqlerrm, 1); When Utl_File.Invalid_Operation THEN -- esta caindo nesta exception ********* Msg := 'Arquivo invalido: ' || Parquivo; -- Lib_Proc.Add_Log(Msg || Sqlerrm, 1); When Others THEN Msg := 'Erro na abertura do arquivo: ' || Parquivo; Lib_Proc.Add_Log(Msg || Sqlerrm, 1); INSERT INTO teste_c VALUES('88');COMMIT; End File_Open;
  2. cfreis01

    [Resolvido] Duvida sobre trigger com update

    Deu certo com esta ação, funcionou corretamente...obrigado
  3. cfreis01

    [Resolvido] Duvida sobre trigger com update

    Ela gera erro. Dizendo que nao pode alterar o valor da variavel :new.old_salario
  4. cfreis01

    [Resolvido] Duvida sobre trigger com update

    A trigger para inserir na tabela log esta certo funcionando o problema é que preciso atualizar a coluna da tabela emp a minha ideia foi depois que inserir na tabela de log (codigo,salario,data,salario novo) eu ia disparar uma nova trigger before insert emp_log fazer o update na coluna da emp mas da erro CREATE OR REPLACE TRIGGER new_salario_emp AFTER INSERT ON emp_log FOR EACH ROW DECLARE Pragma Autonomous_Transaction; BEGIN update emp set old_salario = :new.sal - :new.old_salario where empno = :old.empno; end;
  5. cfreis01

    [Resolvido] Duvida sobre trigger com update

    Motta se eu criar uma tabela_log como intermediaria ai inserir após o update e depois que inserir disparar uma outra trigger para atualizar a coluna com o valor do aumento ele da erro: ora-00060: conflito detectado ao aguardar recurso E se eu coloco ao invés de :new :old_salario ele nao atualiza mas também nao da erro você sabe me dizer por que? CREATE OR REPLACE TRIGGER new_salario_emp AFTER INSERT ON emp_log FOR EACH ROW -- DECLARE Pragma Autonomous_Transaction; -- BEGIN -- update emp set old_salario = :new.sal - :new.old_salario where empno = :new.empno; commit; -- END;
  6. cfreis01

    Erro procedure (dbms_output) PL/SQL

    Bom dia galera, Estou com um erro de execução na criação de uma procedure. Eu vou passar uma cidade como parametro e ela me retorna os funcionarios que trabalham nessa cidade se nao encontrar retorna nao encontrado. Tem que ser por dbms_output. Se eu executo o bloco fora de procedure ele executa, quando coloco o script numa procedure ela compila mas se eu executo: BEGIN EXECUTE FUNC_CIDADE_PROC('DALLAS'); end; Da erro :PLS-00103: Encontrado o simbolo "EMP_CIDADE_PROC" quando um dos seguintes simbolos era esperado: := .( Mas se compilou e executou num bloco por que esta dando erro? CREATE OR REPLACE PROCEDURE EMP_CIDADE_PROC(p_cidade varchar2) IS contador number; begin begin select COUNT(EMPNO) into contador from emp emp ,dept dp where emp.deptno = dp.deptno and dp.loc = p_cidade GROUP BY LOC; EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('Nenhum funcionário encontrado.'); end; IF(CONTADOR > 0)THEN FOR CUR_EMP IN( select EMP.EMPNO ,EMP.JOB ,EMP.SAL from emp emp ,dept dp where emp.deptno = dp.deptno and dp.loc = p_cidade)LOOP dbms_output.put_line('Código: '||cur_emp.empno||' | Cargo: '||cur_emp.job||' | Salário: '||cur_emp.sal); END LOOP; END IF; -- END;
  7. cfreis01

    [Resolvido] Duvida sobre trigger com update

    Eu vi que não se pode fazer um update na mesma tabela que esta sendo feito um update pois gera este erro: ora - 00060: conflito detectado ao aguardar recurso Não tem nenhuma forma da trigger atualizar a coluna da minha tabela em que estou fazendo um update pois não é a mesma coluna estou fazendo este update: update EMP set sal = 1000 where empno = 6799 e quando faço este update na coluna sal_novo a trigger tinha q atualizar pegando o valor novo - valor antigo e guardar e toda vez que eu fizer um update neste cara guardar o ultimo valor
  8. cfreis01

    [Resolvido] Duvida sobre trigger com update

    Outra dúvida como o update pega apenas o funcionario que esta sendo feito o update como colocar uma clausula where dentro da trigger sabendo o funcionario que esta atualizando o salario?
  9. cfreis01

    [Resolvido] Duvida sobre trigger com update

    Infelizmente eu não posso criar uma nova tabela, a ideia foi justamente criar esta nova coluna para guardar o valor que foi dado como aumento. Sim pode perder..pois a cada updade neste funcionario eu só vou guardar o ultimo valor. Mas esta correto desta forma que eu fiz? Pois não esta funcionando esta dando um erro de trigger mutante quando tento fazer um update.
  10. eu tenho uma tabela funcionário com uma coluna salário e criei uma nova coluna do tipo salário eu pensei em uma trigger para que todas as vezes que um funcionário receba um aumento, nessa nova coluna seja registrada a quantia do último aumento recebido mas quando executo o update da erro; outra duvida dentro do update como o update sabe que é só deste funcionario? o que colocar na clausula where dentro da trigger? CREATE OR REPLACE TRIGGER new_salario_emp BEFORE UPDATE ON emp FOR EACH ROW -- DECLARE salario number; BEGIN salario := :new.sal - :OLD.sal; -- update emp set old_salario = salario; commit; -- END;
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.