Board index » delphi » LIMIT MySQL x "what???" Interbase

LIMIT MySQL x "what???" Interbase

Hi,

I sent a message about this some days before,
about getting records from InitVal to FinalVal,
where InitVal isn't only 0.

However, my problem is more complex that
solutions like "loop + counter var" or "gen_id"
using a Stored Procedure.

The Stored Procedure "For Select" needs
SQL "Select" code is pre-defined (fixed).
However, my Form has many fields that
can be combined to generate a SQL
dynamically, and Stored Procs don't
allow SQL dynamic into its coding.

Do you have some other idea to implement
this one?

 

Re:LIMIT MySQL x "what???" Interbase


My solution with Interbase is attached.
Then, I do a SQL like this:
Select * From SPResConsulta(0,4,1,1)
Where CodSublinha = 1
And (CodGen >= 10 And CodGen <= 20)

where the numbers showed explicitly may
be parameters when generating the SQL
into Java/Delphi/... code.

[ interbase.txt 3K ]
======================================================================
CREATE VIEW VWPRECOPRODUTO(
    CODFORN,
    CODLOJA,
    CODPRODUTO,
    CODFORMAPAGTO,
    PRECO,
    PROM,
    DATAFIMPROM)
AS
Select CodForn,CodLoja,CodProduto,CodFormaPagto,
(Preco+Preco*ICMS/100+Preco*IPI/100),Prom,DataFimProm
From PrecoProduto;
======================================================================
create view VWResConsulta
(CodProduto, FotoProduto, Descricao, DescricaoPsq,
Detalhe, DetalheChave, EspecTec, EspecTecChave,
CodInterno, Preco, DataFimProm,
CodSublinha, FotoSublinha, DescrSublinha,
CodLinha, FotoLinha, DescrLinha,
CodForn, T1CodLingua, T4CodLingua, T6CodLingua, CodLoja, CodFormaPagto)
as
Select T1.CodProduto, Substr(T2.Foto,1,256) FotoProduto,
T1.Descricao, T1.DescricaoPsq,
T1.Detalhe, T1.DetalheChave,
T1.EspecTec, T1.EspecTecChave,
T2.CodInterno, VW2.Preco, VW2.DataFimProm,
T3.CodSublinha, Substr(T3.Foto,1,256) FotoSublinha, T4.Descricao DescrSublinha,
T5.CodLinha, Substr(T5.Foto,1,256) FotoLinha, T6.Descricao DescrLinha,
T1.CodForn, T1.CodLingua, T4.CodLingua, T6.CodLingua, VW2.CodLoja, VW2.CodFormaPagto
From ProdutoLingua T1, Produto T2, VWPrecoProduto VW2,
Sublinha T3, SublinhaLingua T4, Linha T5, LinhaLingua T6
Where T2.CodForn = T1.CodForn
And T2.CodProduto = T1.CodProduto
And VW2.CodForn = T2.CodForn
And VW2.CodProduto = T2.CodProduto
And T3.CodForn = T2.CodForn
And T3.CodSublinha = T2.CodSublinha
And T4.CodForn = T3.CodForn
And T4.CodSublinha = T3.CodSublinha
And T5.CodForn = T3.CodForn
And T5.CodLinha = T3.CodLinha
And T6.CodForn = T5.CodForn
And T6.CodLinha = T5.CodLinha
======================================================================
CREATE GENERATOR GEN_RESCONSULTA;
======================================================================
create procedure SPResConsulta
(PCodLingua integer, PCodForn integer, PCodLoja integer, PCodFormaPagto integer)
returns
(CodGen integer, CodProduto integer, FotoProduto integer,
Descricao varchar(70), DescricaoPsq varchar(70),
Detalhe varchar(250), DetalheChave varchar(250),
EspecTec varchar(800), EspecTecChave varchar(250),
CodInterno varchar(30), Preco numeric(15,4), DataFimProm date,
CodSublinha integer, FotoSublinha varchar(256), DescrSublinha varchar(50),
CodLinha integer, FotoLinha varchar(256), DescrLinha varchar(50))
as
begin
  for
    Select Gen_Id(Gen_ResConsulta,1),
        CodProduto, FotoProduto,
        Descricao, DescricaoPsq,
        Detalhe, DetalheChave,
        EspecTec, EspecTecChave,
        CodInterno, Preco, DataFimProm,
        CodSublinha, FotoSublinha, DescrSublinha,
        CodLinha, FotoLinha, DescrLinha
    From VWResConsulta
    Where T1CodLingua = :PCodLingua
    And CodForn = :PCodForn
    And CodLoja = :PCodLoja
    And CodFormaPagto = :PCodFormaPagto
    And T4CodLingua = :PCodLingua
    And T6CodLingua = :PCodLingua
    Order By DescrLinha, DescrSublinha, Descricao
    Into :CodGen,
        :CodProduto, :FotoProduto,
        :Descricao, :DescricaoPsq,
        :Detalhe, :DetalheChave,
        :EspecTec, :EspecTecChave,
        :CodInterno, :Preco, :DataFimProm,
        :CodSublinha, :FotoSublinha, :DescrSublinha,
        :CodLinha, :FotoLinha, :DescrLinha
    do
      suspend;
end;

Other Threads