Fórum Stored Procedure com LIKE . so traz inicio campo..URGENTE #37592
24/07/2003
0
Olá pessoal
Estou tentando usar uma stored procedure com like, mas ela so retorna valor qdo digito algo no inicio do text
Ex.
tenho COCA COLA cadastrado no meu banco se digitar CO ou COCA ele traz o resultado, mas se digitar COLA num vem nada como resolver isso.
ai vai minha Procedure
SET TERM ^ ;
CREATE PROCEDURE SP_ConsProd(Filt varchar(35))
Returns(Prod_codigo smallint, Prod_desc varchar(50), Prod_qtdegeral double precision, Prod_qtdemin double precision, Prod_precocusto double precision, Prod_prvenda double precision, Prod_UN varchar(2), Prod_dtent timestamp)
AS
begin
for
SELECT Prod_codigo , Prod_desc , Prod_qtdegeral , Prod_qtdemin , Prod_precocusto , Prod_prvenda , Prod_UN , Prod_dtent
from produto
where PROD_DESC like :Filt ||´¬´
INTO :Prod_codigo , :Prod_desc , :Prod_qtdegeral , :Prod_qtdemin , :Prod_precocusto , :Prod_prvenda , :Prod_UN , :Prod_dtent
do
suspend;
end ^
SET TERM ; ^
agradeço antecipadamente sua ajuda
Abraços.
Estou tentando usar uma stored procedure com like, mas ela so retorna valor qdo digito algo no inicio do text
Ex.
tenho COCA COLA cadastrado no meu banco se digitar CO ou COCA ele traz o resultado, mas se digitar COLA num vem nada como resolver isso.
ai vai minha Procedure
SET TERM ^ ;
CREATE PROCEDURE SP_ConsProd(Filt varchar(35))
Returns(Prod_codigo smallint, Prod_desc varchar(50), Prod_qtdegeral double precision, Prod_qtdemin double precision, Prod_precocusto double precision, Prod_prvenda double precision, Prod_UN varchar(2), Prod_dtent timestamp)
AS
begin
for
SELECT Prod_codigo , Prod_desc , Prod_qtdegeral , Prod_qtdemin , Prod_precocusto , Prod_prvenda , Prod_UN , Prod_dtent
from produto
where PROD_DESC like :Filt ||´¬´
INTO :Prod_codigo , :Prod_desc , :Prod_qtdegeral , :Prod_qtdemin , :Prod_precocusto , :Prod_prvenda , :Prod_UN , :Prod_dtent
do
suspend;
end ^
SET TERM ; ^
agradeço antecipadamente sua ajuda
Abraços.
Anselmo
Curtir tópico
+ 0
Responder
Posts
24/07/2003
Afarias
|tenho COCA COLA cadastrado no meu banco se digitar CO ou COCA ele
|traz o resultado, mas se digitar COLA num vem nada como resolver isso.
isto é pq vc está usando o ´¬´ apenas no final... é como o * no comando Dir do DOS entendeu??
|where PROD_DESC like :Filt || ´¬´
ficaria:
where PROD_DESC like ´¬´ || :Filt || ´¬´
Detalhe:: Neste caso as pesquisas ficam mais lentas pois o IB não poderá usar um índice.
T+
|traz o resultado, mas se digitar COLA num vem nada como resolver isso.
isto é pq vc está usando o ´¬´ apenas no final... é como o * no comando Dir do DOS entendeu??
|where PROD_DESC like :Filt || ´¬´
ficaria:
where PROD_DESC like ´¬´ || :Filt || ´¬´
Detalhe:: Neste caso as pesquisas ficam mais lentas pois o IB não poderá usar um índice.
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)