Re: [oracle_br] RE: PACKAGE
Bom, só colocando um adendo na conversa, porque o nosso amigo gostaria de compilar somente a função? Ele não diz o porque, mas supondo que ao compilar o pacote invalide uma serie de outros objetos do banco de dados e ele não quer isso. Para este caso, nos temos o cabeçalho do pacote e o corpo do pacote que ai sim, podem ser vistos como dois objetos distintos; A dependência de outros objetos (seja view ou pacote/função/procedimento) com o pacote é com o seu cabeçalho. Então se a função que esta dentro do pacote não esta publicada e/ou não será alterada a sua assinatura (mexendo no tipo e quantidade de parâmetros), o nosso amigo pode compilar somente o corpo do pacote não afetando os demais objetos que tenha dependência. Agora se precisar alterar mexer na assinatura da função, ai não tem jeito, será preciso compilar o pacote como um todo e ai vai sim invalidar todos os objetos de dependência. *** Compilar o pacote inteiro *** alter package compile; *** Compilar somente o corpo *** alter package compile body; Alessandro Lúcio Cordeiro da Silva Analista de Sistema þ http://alecordeirosilva.blogspot.com/ Porque esta é a vontade de Deus, a saber, a vossa santificação: que vos abstenhais da prostituição. (1º Tessalonicenses 4:3) Em Quarta-feira, 19 de Fevereiro de 2014 11:42, "jlchia...@yahoo.com.br" escreveu: Impossível, colega : PACKAGE se traduz exatamente como PACOTE, e é essa a idéia geral : uma package é um "pacote", uno e indivisível, criado e compilado e mantido como um só objeto INCLUSIVE, em tese essa é uma das principais VANTAGENS na utilização da package : se vc executou uma rotina x que está na package A, composta pelas rotinas x, y,e z, AUTOMAGICAMENTE (já que a package é uma "coisa" só), o código de y e de z (de tudo que está na package) já SUBIU para o cache com a execução da rotina x, assim EM TESE a execução das rotinas y e z vai ocorrer a aprtir do cache, sendo mais rápidas O que vc PODE fazer é isolar a função, mas aí (obviamente) vc muito provavelmente perde as vantagens de ter a package... []s Chiappa
[oracle_br] RE: PACKAGE
Impossível, colega : PACKAGE se traduz exatamente como PACOTE, e é essa a idéia geral : uma package é um "pacote", uno e indivisível, criado e compilado e mantido como um só objeto INCLUSIVE, em tese essa é uma das principais VANTAGENS na utilização da package : se vc executou uma rotina x que está na package A, composta pelas rotinas x, y,e z, AUTOMAGICAMENTE (já que a package é uma "coisa" só), o código de y e de z (de tudo que está na package) já SUBIU para o cache com a execução da rotina x, assim EM TESE a execução das rotinas y e z vai ocorrer a aprtir do cache, sendo mais rápidas O que vc PODE fazer é isolar a função, mas aí (obviamente) vc muito provavelmente perde as vantagens de ter a package... []s Chiappa
[oracle_br] Re: Package invalida
Hmm, Agora que vc deu os detalhes necessários E a gente entendeu que *** não é *** uma questão diretamente de RDBMS mas sim de IDE de programação, dá pra gente palpitar Seguinte : a) QUAL versão do SQL Developer vc está usando, é a jurássica é ultra-mega-ultrapassada 2.x ?? Vc não diz mas eu Suspeito disso, já que vc reporta que o teu Developer tá referenciando algo de-suportado, e o OBE "Testing and Debugging Procedures using SQL Developer 3.1", que usa a versão ATUAL do SQL Developer ao se usar o botão de debug mode não reporta os Warnings que vc cita SE realmente for isso, baixe no Technet Oracle a versão corrente do SQL Developer , e a ref do OBE vc encontra pesquisando em https://apex.oracle.com/pls/apex/f?p=44785:1:1457768152682::NO por DEBUG como palavra-chave, é o terceiro resultado. b) se o seu objetivo é desligar os warnings apenas, nada te impede de OU desligar na sessão com um ALTER SESSION SET PLSQL_WARNINGS='DISABLE:ALL'; , ou então nas Opções do SQL Developer - iirc é algo na linha do Preferences->Database->PL/SQL Compiler Options , ou coisa parecida, veja lá []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Allan da Silva Donega escreveu > > Sobre colocar o erro eu peço desculpas pois nem sempre utilizo o grupo para > tirar dúvidas e não peguei o erro para expôr. > > Sobre o erro, na verdade na dba_objects fica com o status invalid. Utilizo > o SQL Developer e peço para compilar no modo debug, na verdade não dá erro > mas me mostra 3 warnings: > > *Warning(1): PLW-06015: o parâmetro PLSQL_DEBUG está obsoleto; use > PLSQL_OPTIMIZE_LEVEL = 1* > *Warning(1): PLW-06013: o parâmetro obsoleto PLSQL_DEBUG impõe o > PLSQL_OPTIMIZE_LEVEL <= 1* > *Warning(2,1): PLW-05018: a unidade A_TESTE omitiu a cláusula AUTHID > opcional; o valor default DEFINER foi usado > > * > Em 25 de setembro de 2012 10:59, Milton Bastos Henriquis Jr. < > miltonbastos@...> escreveu: > > > Bom dia Allan. > > > > 1 - Copiei o seu código, colei aqui no meu client, executei, e compilou > > perfeitamente. > > > > 2 - Independente de ter funcionado ou não, por favor, sempre que vc vier > > pedir > > ajuda no grupo, informe QUAL é o erro que está acontecendo pra vc. > > Colar o código aqui e dizer que não compila, sem nem mesmo informar qual > > erro está > > acontecendo é um pouco de "sacanagem" com os colegas... rs... > > > > > > De qualquer maneira, não há erro nenhum no código, colei aqui e foi > > compilado > > normalmente. > > > > > > > > > > > > On Tue, Sep 25, 2012 at 10:47 AM, Allan da Silva Donega < > > silvadoneg@...> wrote: > > > > > ** > > > > > > > > > Caros, poderiam me ajudar com a pkg abaixo? > > > > > > a pkg está válida, porém a body invalida no banco. > > > > > > create or replace package a_teste as > > > PROCEDURE escreve_log(p_msg IN VARCHAR2); > > > end; > > > / > > > create or replace package body a_teste > > > as > > > PROCEDURE escreve_log(p_msg IN VARCHAR2) is > > > BEGIN > > > DBMS_OUTPUT.PUT_LINE(p_msg); > > > EXCEPTION > > > WHEN others THEN > > > DBMS_OUTPUT.PUT_LINE('Erro na procedure Escreve_Log ' || sqlerrm); > > > END; > > > end; > > > / > > > versão do banco > > > > > > Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit > > > Production > > > PL/SQL Release 11.2.0.2.0 - Production > > > "CORE 11.2.0.2.0 Production" > > > TNS for Solaris: Version 11.2.0.2.0 - Production > > > NLSRTL Version 11.2.0.2.0 - Production > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > -- > > Att, > > > > > > [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 > > > > > > > > > -- > Allan Donegá > > > [As partes desta mensagem que não continham texto foram removidas] >
Re: [oracle_br] Re: package DBMS_METADATA
O Oscar obrigadão cara funcionou!! coloqueio set long 1 e foi!! obrigado t+ Oscar Nogueira Neto <[EMAIL PROTECTED]> escreveu: Boas, no SQL*Plus, antes de executar o pacote, execute SET LONG 1000. Att, Em 10/08/06, Wellington <[EMAIL PROTECTED]> escreveu: > > Entao Anderson tentei executar no SQLPLUS e no WORKSHEET. > Sim, tentei jogar p/ um arquivo texto e no arquivo foram gravadas as > mesmas informacoes q o sqlplus ou o worksheet retornaram. > tem mais alguma dica!?? > > valeu pega ajuda > > > Anderson <[EMAIL PROTECTED]> escreveu: > > Não tem erro. > > O comando que vc está usando deve retornar todas as informações. > > Eu acho q isso está relacionado a uma limitação da tool q vc está > usando. > > Talvez a visualização esteja sendo limitada, mas as informações devem > estar lá. > > Q tool vc está usando? > Tentou jogar o resultado para um arquivo texto? > > > > --- Em oracle_br@yahoogrupos.com.br, "well_cra" <[EMAIL PROTECTED]> escreveu > > > > Ola pessoal! > > Alguem pode me dar uma dica!?? > > > > estou executando a package DBMS_METADATA, p/ tentar extrair os create > > table de um determinado usuario, so que o resultado nao me traz o > > create table completo com a descricao de todos os campos da tabela. > > > > estou usando o seguinte select: > > > > select dbms_metadata.get_ddl ('TABLE','LANCAMENTOS') from dual; > > > > alguem tem algum exemplo? > > > > Obrigado pessoal!! > > > > > > > > > > __ > Fale com seus amigos de graça com o novo Yahoo! Messenger > http://br.messenger.yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- Oscar Nogueira Neto [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] - Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Seu banco Oracle retornou erro? Ora-??? Pesquise aqui: 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: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Re: package DBMS_METADATA
Boas, no SQL*Plus, antes de executar o pacote, execute SET LONG 1000. Att, Em 10/08/06, Wellington <[EMAIL PROTECTED]> escreveu: > > Entao Anderson tentei executar no SQLPLUS e no WORKSHEET. > Sim, tentei jogar p/ um arquivo texto e no arquivo foram gravadas as > mesmas informacoes q o sqlplus ou o worksheet retornaram. > tem mais alguma dica!?? > > valeu pega ajuda > > > Anderson <[EMAIL PROTECTED]> escreveu: > > Não tem erro. > > O comando que vc está usando deve retornar todas as informações. > > Eu acho q isso está relacionado a uma limitação da tool q vc está > usando. > > Talvez a visualização esteja sendo limitada, mas as informações devem > estar lá. > > Q tool vc está usando? > Tentou jogar o resultado para um arquivo texto? > > > > --- Em oracle_br@yahoogrupos.com.br, "well_cra" <[EMAIL PROTECTED]> escreveu > > > > Ola pessoal! > > Alguem pode me dar uma dica!?? > > > > estou executando a package DBMS_METADATA, p/ tentar extrair os create > > table de um determinado usuario, so que o resultado nao me traz o > > create table completo com a descricao de todos os campos da tabela. > > > > estou usando o seguinte select: > > > > select dbms_metadata.get_ddl ('TABLE','LANCAMENTOS') from dual; > > > > alguem tem algum exemplo? > > > > Obrigado pessoal!! > > > > > > > > > > __ > Fale com seus amigos de graça com o novo Yahoo! Messenger > http://br.messenger.yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- Oscar Nogueira Neto [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Seu banco Oracle retornou erro? Ora-??? Pesquise aqui: 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: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Re: package DBMS_METADATA
Entao Anderson tentei executar no SQLPLUS e no WORKSHEET. Sim, tentei jogar p/ um arquivo texto e no arquivo foram gravadas as mesmas informacoes q o sqlplus ou o worksheet retornaram. tem mais alguma dica!?? valeu pega ajuda Anderson <[EMAIL PROTECTED]> escreveu: Não tem erro. O comando que vc está usando deve retornar todas as informações. Eu acho q isso está relacionado a uma limitação da tool q vc está usando. Talvez a visualização esteja sendo limitada, mas as informações devem estar lá. Q tool vc está usando? Tentou jogar o resultado para um arquivo texto? --- Em oracle_br@yahoogrupos.com.br, "well_cra" <[EMAIL PROTECTED]> escreveu > > Ola pessoal! > Alguem pode me dar uma dica!?? > > estou executando a package DBMS_METADATA, p/ tentar extrair os create > table de um determinado usuario, so que o resultado nao me traz o > create table completo com a descricao de todos os campos da tabela. > > estou usando o seguinte select: > > select dbms_metadata.get_ddl ('TABLE','LANCAMENTOS') from dual; > > alguem tem algum exemplo? > > Obrigado pessoal!! > __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Seu banco Oracle retornou erro? Ora-??? Pesquise aqui: 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: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Re: package DBMS_METADATA
Não tem erro. O comando que vc está usando deve retornar todas as informações. Eu acho q isso está relacionado a uma limitação da tool q vc está usando. Talvez a visualização esteja sendo limitada, mas as informações devem estar lá. Q tool vc está usando? Tentou jogar o resultado para um arquivo texto? --- Em oracle_br@yahoogrupos.com.br, "well_cra" <[EMAIL PROTECTED]> escreveu > > Ola pessoal! > Alguem pode me dar uma dica!?? > > estou executando a package DBMS_METADATA, p/ tentar extrair os create > table de um determinado usuario, so que o resultado nao me traz o > create table completo com a descricao de todos os campos da tabela. > > estou usando o seguinte select: > > select dbms_metadata.get_ddl ('TABLE','LANCAMENTOS') from dual; > > alguem tem algum exemplo? > > Obrigado pessoal!! > -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: http://www.oraclebr.com.br/ __ Seu banco Oracle retornou erro? Ora-??? Pesquise aqui: 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: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Re: Package com wrap não funciona.
Luciana, pode ser um bug, embora eu nunca tenha visto um do tipo : fatalmente pelo jeito vc vai ter que acionar o Suporte Oracle. Enquanto isso não ocorre, a idéia é vc re-escrever o procedimento com o menor número de tabelas e o menor tamanho onde ainda dê o erro, criar a procedure com outro nome sem wrap (se ainda não fez), pra ver se é mesmo questão de código com wrap ou não, daí vc dar pra gente o CREATE TABLE das tabelas e o código que vc usou pra ver se reproduzimos em outros bancos. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Luciana Camargo" <[EMAIL PROTECTED]> escreveu > > O que eu acho estranho é do fonte funcionar e o wrap não. > > O meu procedimento é bem simples: > > Tem um cursor com a estrutura: > > SELECT > FROM tabela1 > , tabela2 > , (SELECT DISTINCT ... > FROM tabela11, tabela22 > UNION ALL > SELECT DISTINCT ... > FROM tabela33, tabela44 > UNION ALL > SELECT DISTINCT ... > FROM tabela55, tabela66) > WHERE > > No corpo do procedimento tem um FOR, onde ele manda os dados para o > arquivo. > > só isso. > > Luciana > > > 2006/4/26, Marcio Portes <[EMAIL PROTECTED]>: > > > > Posta o código para a lista. Talvez alguem possa reproduzir na sua versão. > > > > On 4/26/06, Luciana Camargo <[EMAIL PROTECTED]> wrote: > > > > > > Pessoal, > > > > > > Estou com um erro estranho no meu package. > > > Meu banco é Oracle9i Enterprise Edition Release 9.2.0.5.0 > > > > > > Executei wrap no meu package e criei no meu banco. Ao executar o > > > procedimento dá problema de "Invalid Number". > > > No entanto, se eu criar a package sem ter passado pelo wrap no meu > > > banco, > > > o procedimento é executado até o final sem problemas. > > > > > > Alguém sabe o que pode estar acontecendo? > > > > > > Obrigada > > > Luciana > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > -- > > > Atenção! As mensagens deste grupo são de acesso público e de inteira > > > responsabilidade de seus remetentes. > > > Acesse: http://www.mail- archive.com/oracle_br@yahoogrupos.com.br/ > > > > > > > > -- __ > > > > > > Este Grupo recebe o apoio da SQL Magazine - > > > www.devmedia.com.br/sqlmagazine > > > __ > > > O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, > > tenha > > > o link do mesmo para evitar trafego(pedidos) desnecessário. > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Marcio Portes > > Material Tecnico em Portugues - http://mportes.blogspot.com > > Practical Learning Oracle - > > http://mportes.blogspot.com/2006/02/practical-learning-oracle.html > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > -- > > Atenção! As mensagens deste grupo são de acesso público e de inteira > > responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > > > -- __ > > > > Este Grupo recebe o apoio da SQL Magazine - > > www.devmedia.com.br/sqlmagazine > > __ > > O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha > > o link do mesmo para evitar trafego(pedidos) desnecessário. > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > -- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --__ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos)