Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

frangio

passar conteudo da clausula Where como parametro

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.