SP com função LIKE, problemas no retorno!!!!
Colegas... tenho a seguinte SP :
e ela não retorna nenhum registro...
mas se eu retirar somente o select :
e executá-lo, retorna os dados corretamente...
alguém sabe me dizer onde estou errando?????
Agradeço a todos antecipadamente...
CREATE PROCEDURE SELECT_IN0100( C_VALOR_BUSCA VARCHAR(100), C_CAMPO_BUSCA VARCHAR(100)) RETURNS ( C_COD_INSUMO CHAR(15), C_DESC_INSUMO VARCHAR(100), C_TIPO_INSUMO CHAR(1), C_CLASSE_INSUMO CHAR(15), C_MODELO_INSUMO VARCHAR(100), C_MARCA_INSUMO VARCHAR(100), C_QTD_EST_INSUMO FLOAT, C_QTD_EST_MIN_INSUMO FLOAT, C_QTD_EST_MAX_INSUMO FLOAT, C_SERIE_INSUMO VARCHAR(50), C_COD_EMB_MINIMA CHAR(2), C_CONTEUDO FLOAT, C_UNITARIO CHAR(2), C_EMBALAGEM_PADRAO CHAR(15), C_COD_UNIVERSAL CHAR(30)) AS begin for select C_COD_INSUMO, C_DESC_INSUMO, C_TIPO_INSUMO, C_CLASSE_INSUMO, C_MODELO_INSUMO, C_MARCA_INSUMO, C_QTD_EST_INSUMO, C_QTD_EST_MIN_INSUMO, C_QTD_EST_MAX_INSUMO, C_SERIE_INSUMO, C_COD_EMB_MINIMA, C_CONTEUDO, C_UNITARIO, C_EMBALAGEM_PADRAO, C_COD_UNIVERSAL from IN0100 where (UPPER(C_DESC_INSUMO) LIKE (UPPER(´¬´ || ´cart´ || ´¬´))) into :C_COD_INSUMO, :C_DESC_INSUMO, :C_TIPO_INSUMO, :C_CLASSE_INSUMO, :C_MODELO_INSUMO, :C_MARCA_INSUMO, :C_QTD_EST_INSUMO, :C_QTD_EST_MIN_INSUMO, :C_QTD_EST_MAX_INSUMO, :C_SERIE_INSUMO, :C_COD_EMB_MINIMA, :C_CONTEUDO, :C_UNITARIO, :C_EMBALAGEM_PADRAO, :C_COD_UNIVERSAL do suspend; end
e ela não retorna nenhum registro...
mas se eu retirar somente o select :
select C_COD_INSUMO, C_DESC_INSUMO, C_TIPO_INSUMO, C_CLASSE_INSUMO, C_MODELO_INSUMO, C_MARCA_INSUMO, C_QTD_EST_INSUMO, C_QTD_EST_MIN_INSUMO, C_QTD_EST_MAX_INSUMO, C_SERIE_INSUMO, C_COD_EMB_MINIMA, C_CONTEUDO, C_UNITARIO, C_EMBALAGEM_PADRAO, C_COD_UNIVERSAL from IN0100 where (UPPER(C_DESC_INSUMO) LIKE (UPPER (´¬´ || ´cart´ || ´¬´)))
e executá-lo, retorna os dados corretamente...
alguém sabe me dizer onde estou errando?????
Agradeço a todos antecipadamente...
Cabelo
Curtidas 0
Respostas
Sremulador
23/06/2006
[quote]for select C_COD_INSUMO, C_DESC_INSUMO, C_TIPO_INSUMO, C_CLASSE_INSUMO, C_MODELO_INSUMO, C_MARCA_INSUMO, C_QTD_EST_INSUMO, C_QTD_EST_MIN_INSUMO, C_QTD_EST_MAX_INSUMO, C_SERIE_INSUMO, C_COD_EMB_MINIMA, C_CONTEUDO, C_UNITARIO, C_EMBALAGEM_PADRAO, C_COD_UNIVERSAL from IN0100 where (UPPER(C_DESC_INSUMO) LIKE (UPPER(´¬´ || ´CART´ || ´¬´))) into :C_COD_INSUMO, :C_DESC_INSUMO, :C_TIPO_INSUMO, :C_CLASSE_INSUMO, :C_MODELO_INSUMO, :C_MARCA_INSUMO, :C_QTD_EST_INSUMO, :C_QTD_EST_MIN_INSUMO, :C_QTD_EST_MAX_INSUMO, :C_SERIE_INSUMO, :C_COD_EMB_MINIMA, :C_CONTEUDO, :C_UNITARIO, :C_EMBALAGEM_PADRAO, :C_COD_UNIVERSAL do suspend;
GOSTEI 0
Acacio
23/06/2006
Testei aqui e funcionou. Como tais buscando, a procedure pode ser buscada numa query assim por exemplo:
select * from SELECT_IN0100(1,1)
select * from SELECT_IN0100(1,1)
GOSTEI 0
Cabelo
23/06/2006
Realmente funciona...
quando passo os parâmetros direto no select da SP... mas quando passo somente os parâmetrso via SQL... não retorna nada..
ex :
select * from SELECT_IN0100(´C_DESC_INSUMO´, ´cart´)
quando passo isso não retona nada... acredito é que o parâmetro C_CAMPO_BUSCA esteja sendo passado com os espaços em branco... por isso com os parâmetros direto no SQL funciona..
Existe uma função SQL como a função TRIM do Delphi????????
quando passo os parâmetros direto no select da SP... mas quando passo somente os parâmetrso via SQL... não retorna nada..
ex :
select * from SELECT_IN0100(´C_DESC_INSUMO´, ´cart´)
quando passo isso não retona nada... acredito é que o parâmetro C_CAMPO_BUSCA esteja sendo passado com os espaços em branco... por isso com os parâmetros direto no SQL funciona..
Existe uma função SQL como a função TRIM do Delphi????????
GOSTEI 0