Stored Procedure com LIKE . so traz inicio campo..URGENTE
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
Curtidas 0
Respostas
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+
|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