Página 1 de 1

SQL em resource

Enviado: 27 Ago 2020 14:44
por JoséQuintas
Tô aqui pensando....

Código: Selecionar todos

STATIC FUNCTION JPUFcreateSQL()

   RETURN ;
      "CREATE TABLE IF NOT EXISTS JPUF ( " + ;
      "UFUF VARCHAR(2) NOT NULL DEFAULT '', " + ;
      "UFDESCRI VARCHAR(80) NOT NULL DEFAULT '', " + ;
      "UFTRIUF VARCHAR(6) NOT NULL DEFAULT '', " + ;
      "UFINFINC VARCHAR(80) NOT NULL DEFAULT '', " + ;
      "UFINFALT VARCHAR(80) NOT NULL DEFAULT '', " + ;
      "PRIMARY KEY ( UFUF ) " + ;
      ") COLLATE=latin1_swedish_ci ENGINE=InnoDB"
Ao invés disso, poderia ser isto:

Código: Selecionar todos

STATIC FUNCTION JPUFCreateSQL()
#pragma __binarystreaminclude "tabelas\jpuf.sql"   | RETURN %s
E deixar as estruturas em arquivo separado.

Ficaria interessante também....

SQL em resource

Enviado: 09 Abr 2021 15:52
por ivanil.marcelino
Post antigo, mas pode ser útil para outros ao abrir...
Eu passei a usar Text/Endtext ficou muito bom, pois posso posso criar criar e testar o código sql externamente e depois só colar no PRG, se precisar de manutenção so inverter; ficou muito bom mesmo esta nova forma de trabalhar, antes precisava ficar tirando os delimitadores.
Caso a compilação apresente erro, faça a declaração no topo;
#xcommand TEXT <into:TO,INTO> <v> => #pragma __cstream|<v>:=%s

Código: Selecionar todos


Static function SQLFerias()
    Local cSQL
    Text into cSQL
        select campo07 as IDSap,
            pfunc.chapa,
            nome,
            dataadmissao,
            datademissao,
            Convert(datetime,DTVENCFERIAS,103) as DtVencFerias,
            CODSITUACAO+'.'+PCODSITUACAO.DESCRICAO as CodTipo,
            DtIniPerAquis,pfhstfer.DtFimPerAquis,NroPeriodo as Periodo,
            Convert(datetime,DtIniGozo,103) as DtIniGozo,Convert(DateTime,DtFimGozo,103) as DtFimGozo,
            pf.datapagto,
            DiasAbono,NroFaltas as Faltas
        from  pfunc
            left join pfhstfer on pfunc.chapa=pfhstfer.chapa 
            LEFT JOIN PCODSITUACAO ON CODSITUACAO = PCODSITUACAO.CODCLIENTE
            left join PFUFERIASPER as PF on pfhstfer.codcoligada=pf.codcoligada and 
                pf.chapa=pfhstfer.chapa and  
                pfhstfer.dtfimperaquis=PF.FimPerAquis and 
                pfhstfer.DtIniGozo=pf.datainicio
    
            left join c_txtSeparado on '0'+campo01=pfunc.chapa
        where datademissao is null or datademissao >= convert(date,'01-03-2021',103)
            --and pfunc.chapa='01000'
            --and dtvencferias=dtfimperaquis
            order by chapa,pfhstfer.dtfimperaquis desc,Periodo desc    
    EndText
    Return cSQL

SQL em resource

Enviado: 09 Abr 2021 19:05
por alxsts
Olá!

Veja outro exemplo
O único inconveniente é que fora do prg o texto perde a indentação...