Stored Procedure com LIKE . so traz inicio campo..URGENTE

Firebird

24/07/2003

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.


Anselmo

Anselmo

Curtidas 0

Respostas

Afarias

Afarias

24/07/2003

|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+


GOSTEI 0
POSTAR