frangio 0 Denunciar post Postado Janeiro 28, 2008 Olá pessoal, estou precisando passar o conteúdo de parte da "WHERE" como parâmetro para um pacote, pois não gostaria de ter a SQL armazenada na aplicação. Uso pacotes (PACKAGE) para retornar um REF CURSOR à aplicação web. Pensei em usar uma variável na sql contendo parte da "Where" (tipo: campo=’valor’ and :variavel). O TOAD 7.4 faz isso quando definimos o Type como "substitution", mas não sei se é um recurso do Toad ou do Oracle, e se for do Oracle, como fazer para definir um parâmetro como "substitution" no pacote. Grato Frangio Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Janeiro 28, 2008 Pode utilizar como um parâmetro normal de procedure na package!! Abraços, Compartilhar este post Link para o post Compartilhar em outros sites
frangio 0 Denunciar post Postado Janeiro 29, 2008 Pode utilizar como um parâmetro normal de procedure na package!! Abraços, Rodrigo valeu pela resposta. Uso o Oracle 8i e tentei passar como parâmetro mas deu erro, preciso enviar os campos com os valores de pesquisa. Ex: S_CompletWhere receberia eh.UF_SIGLA_UF= 'RJ' AND eh.VENDAS >1500. O pacote que uso é como o abaixo. CREATE OR REPLACE PACKAGE BODY pk_FILA_teste AS PROCEDURE GET_FIXO_INSCRICAO(I_COD_EMPRESA IN NUMBER, S_CompletWhere IN VARCHAR2 DEFAULT NULL, O_RESULT_SET OUT CURSOR_TYPE) AS BEGIN OPEN O_RESULT_SET FOR select /*+ first_rows */ eh.GEOGRAFIA geo, eh.UF_SIGLA_UF uf, eh.SIGLA_LOCAL slocal, eh.VENDAS from empresa_h eh where eh.codigo_empresa = I_COD_EMPRESA and nvl(S_CompletWhere, '1=1'); END; END; / Abraços Frangio Compartilhar este post Link para o post Compartilhar em outros sites