SQL em resource

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

SQL em resource

Mensagem 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....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
ivanil.marcelino
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 26 Jul 2017 09:08
Localização: Floripa/sc

SQL em resource

Mensagem 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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

SQL em resource

Mensagem por alxsts »

Olá!

Veja outro exemplo
O único inconveniente é que fora do prg o texto perde a indentação...
[]´s
Alexandre Santos (AlxSts)
Responder