Ola *Matheus*, Vc poderia postar o código dessa mudança que vc realizou não é mesmo??? :-) Obrigado pela atenção!!!
Felipe Ferreira == CAMPANHA POR UMA INTERNET SEGURA: Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar mensagens use SEMPRE o "Cco" (cópia oculta ou "Bcc" (Blind carbon copy). Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar um e-mail, delete todas as informações que apareçam no corpo do e-mail e que possam ser usadas por hackers ou qualquer pessoa que possa enviar SPAM. 2009/11/17 Matheus Malta <maltamath...@gmail.com> > > > Olá Caio, boa noite! > > Eu criei normalmente as funções e estou utilizando elas dentro das > procedures normalmente.. Elas estão funcionando OK... > > Estava enfrentando dificuldades quanto a chamar as procedures, mas efetuei > umas correções nos scripts responsáveis pela execução das procedures e agora > estão OK... > > Mesmo assim, obrigado pela ajuda... > > > Matheus Malta > ----- Original Message ----- > From: Caio Spadafora > To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br> > Sent: Tuesday, November 17, 2009 6:57 PM > Subject: Res: [oracle_br] Execução de Procedures - SQL PLUS > > Matheus, > > Vou tentar arrumar um tempo para simular aqui, mas de qualquer maneira você > não precisa (até onde eu entendi o que você falou) incorporar a uma > procedure a função, você pode criar uma função pura e simples sem estar > incorporada a nenhum objeto. > > []'s > Caio Spadafora. > > ________________________________ > De: Matheus Malta <maltamath...@gmail.com <maltamatheus%40gmail.com>> > Para: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br> > Enviadas: Terça-feira, 17 de Novembro de 2009 16:07:03 > Assunto: Re: [oracle_br] Execução de Procedures - SQL PLUS > > Olá Caio! > > Sim, estou executando a procedure em ambiente SQLPLUS... > > No e_mail que eu te mandei eu passei (logo abaixo do código da procedure) > um outro script que é o responsável por CHAMAR a procedure que eu criei... > > Estou alterando os arquivos de execução da procedure para evitar esse tipo > de erro.. tomara que dê certo... > > Estou criando também as funções para poder incorporá-las nas procedures.. . > > É que são procedures muito simples e que não necessitam de repente de ter > uma função incorporada a elas... > > Mesmo assim, obrigado! > > Atenciosamente, > > Matheus Malta > ----- Original Message ----- > From: Caio Spadafora > To: oracle...@yahoogrup os.com.br > Sent: Tuesday, November 17, 2009 3:22 PM > Subject: Res: [oracle_br] Execução de Procedures - SQL PLUS > > Matheus, > > Você está executando esse procedure a partir do SQL*Plus? Em caso > afirmativo você declarou uma variável para receber a saída da sua função? > > Por exemplo: > > var saida varchar2 > > exec prc_atualiza_ func(par1,par2, ..., parN, :saida); > > print saida; > > Outra dúvida, se você só tem um parâmetro de saída, por que você não está > utilizando uma função? > > Atenciosamente, > Caio Spadafora > > ____________ _________ _________ __ > De: Matheus Malta <maltamatheus@ gmail.com> > Para: oracle...@yahoogrup os.com.br > Enviadas: Terça-feira, 17 de Novembro de 2009 15:06:32 > Assunto: Re: [oracle_br] Execução de Procedures - SQL PLUS > > Olá Caio, blz? > > Segue abaixo o código da minha procedure... Estou passando esta como > exemplo, mas ressalto, acontece com todas. Estou passando também o código de > execução da procedure, talvez isso ajude também. > > PROCEDURE > > -- Procedure que vai atualizar o cargo, departamento e salário do > funcionário > CREATE OR REPLACE PROCEDURE prc_atualiza_ func > (v_mat IN func.cd_mat% TYPE, > v_depto IN func.cd_depto% TYPE, > v_cargo IN func.nr_cargo% TYPE, > v_sal IN func.vl_sal% TYPE, > v_ret OUT VARCHAR2 > ) > > IS > > -- Declaração das variáveis > v_ver NUMBER; > v_ok BOOLEAN; > v_erro EXCEPTION; > > BEGIN > > --Verifica se o funcionário existe > SELECT COUNT(cd_mat) INTO v_ver > FROM func > WHERE cd_mat = v_mat; > > IF v_ver = 0 > THEN v_ok := FALSE; > RAISE v_erro; > ELSE v_ok := TRUE; > END IF; > > --Atualiza os campos cargo, departamento e salário do funcionário > UPDATE func > SET cd_depto = upper(v_depto) , > nr_cargo = v_cargo, > vl_sal = v_sal > WHERE cd_mat = v_mat; > > v_ret := 'REGISTRO ATUALIZADO COM SUCESSO!'; > > -- Salva a alteração > COMMIT; > > -- EXCEÇÃO > > EXCEPTION > WHEN v_erro THEN > v_ok := FALSE; > v_ret := 'NÃO EXISTE FUNCIONÁRIO DE MATRÍCULA '||v_mat; > ROLLBACK; > > WHEN OTHERS THEN > v_ret := SQLERRM; > ROLLBACK; > END prc_atualiza_ func; > / > > EXECUÇÃO DA PROCEDURE ACIMA > > call prc_atualiza_ func(&MATRICULA, '&DEPTO', &CARGO,&SALARIO, :v_ret); > PRINT :v_ret; > > Qualquer coisa, é só falar galera! > > Matheus Malta > ----- Original Message ----- > From: Caio Spadafora > To: oracle...@yahoogrup os.com.br > Sent: Tuesday, November 17, 2009 11:57 AM > Subject: Res: [oracle_br] Execução de Procedures - SQL PLUS > > Matheus, > > Você pode disponibilizar o código da sua procedure? > > Atenciosamente, > Caio Spadafora. > > ____________ _________ _________ __ > De: Matheus Malta <maltamatheus@ gmail.com> > Para: Oracle - Grupos <oracle...@yahoogru p os.com.br> > Enviadas: Terça-feira, 17 de Novembro de 2009 11:06:53 > Assunto: [oracle_br] Execução de Procedures - SQL PLUS > > Olá PessoALL, bom dia! > > Estou criando algumas procedures no SQL/PLUS e, quando eu crio arquivo para > chamar a procedure, eu sempre encontro o seguinte erro: > > SP2-0552: Variável de ligação "V_RET" não declarada. > > No entanto, esse erro não acontece quando, antes de executar a procedure em > questão, eu faço um SELECT * FROM TABELA antes... > > Alguém saberia me dizer por que isso acontece? > > É meio complicado se, toda vez q for rodar uma procedure, eu tiver que > fazer um SELECT na tabela antes... > > Tem como configurar de maneira q não precise ficar executando esse comando > toda vez? > > Outra coisa: Alguém tem o link aí do SQL*PLUS User's Guide Reference, pq eu > não tô conseguindo encontrar para baixar... > > Valew pessoALL! > > Matheus Malta > > [As partes desta mensagem que não continham texto foram removidas] > > ____________ _________ _________ _________ _________ _________ _ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbusca dos.yahoo. com > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > ____________ _________ _________ _________ _________ _________ _ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbusca dos.yahoo. com > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > __________________________________________________________ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -------------------------------------------------------------------------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -------------------------------------------------------------------------------------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ ------------------------------------------------------------------------------------------------------------------------ Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html