Jump to content
Fivewin Brasil

DBCREATE para tabela temporária


Pablo.Softgraf

Recommended Posts

Senhores, bom dia !

Alguém já se aventurou em criar tabelas temporárias com o DBCREATE , sabemos que no SQLSERVER usamos '#' para criar uma tabela temporária, tentei mandar 

o hashtag atraves do nome da tabela no DBCREATE , gerou um erro, alguem sabe se a função DBCREATE, tem algum parametro para criar tabelas temporárias. 

obrigado a todos.

 

Link to comment
Share on other sites

Boa noite,

Não sei se seria isso, mas para (DBF) eu uso assim... ( Funciona..) 

         mArq = "Tmp" + left(time(), 2) + substr(time(), 4, 2) + right(time(), 2) + ".dbf"
         mAli  = "Tmp" + left(time(), 2) + substr(time(), 4, 2) + right(time(), 2) + "1"
         mInd = "Tmp" + left(time(), 2) + substr(time(), 4, 2) + right(time(), 2) + ".cdx"
         banco := {}
         aadd(banco,{"bbase1" ,"c",45,0}) // trazaosocial
         aadd(banco,{"bbase2" ,"n",10,0}) // tnumerodopedido
         aadd(banco,{"bbase3" ,"d",08,0}) // tdataemissao
         aadd(banco,{"bbase31","c",10,0}) // nota fiscal
         aadd(banco,{"bbase4" ,"n",15,2}) // ttotalnotafiscal

         aadd(banco,{"bcupom","c",10,0})  // cupom fiscal
         aadd(banco,{"btotcp","n",15,2})  // total do cupom fiscal
         
         aadd(banco,{"bbase5" ,"n",01,0}) // ttipovenda
         aadd(banco,{"bbase6" ,"n",15,2}) // ttotaldopedido
         aadd(banco,{"bbase7" ,"n",15,0}) // sequencia do pedido
         aadd(banco,{"bbase8" ,"c",60,0}) // representante
         aadd(banco,{"ccan"   ,"n",01,0})
         dbcreate("&mArq", banco)
         select 99
         set exclusive on
         use &mArq alias &mAli via "dbfcdx"
         index on dtoc(bbase3) + str(bbase2) tag bater1 to &mInd
         index on bbase1 + dtoc(bbase3) + str(bbase2) tag bater2 to &mInd
         index on bbase8 + dtoc(bbase3) + str(bbase2) tag bater3 to &mInd
         set index to &mInd additive
         go top

 

e no final da operação..

         close all
         if file(mArq)
            delete file &mArq
         endif
         if file(mInd)
            delete file &mInd
         endif
 

Link to comment
Share on other sites

veja este topico ultima msg:

http://www.pctoledo.com.br/forum/viewtopic.php?f=42&t=13532&start=0

Tabelas temporarias não devem ficar no banco, e sim em .dbf temporarios
[]s
Luiz

acho que o Luiz da resposta seja o Luiz Rafael Culik. 

eu uso assim(usando a memoria):

Function CriDbfTempProd()
Local aCampos

   aCampos := {}
   aAdd( aCampos , { "cod_prod"  , "C" , 04 , 0 } )
   aAdd( aCampos , { "fam_prod"  , "C" , 02 , 0 } )
   aAdd( aCampos , { "nom_prod"  , "C" , 40 , 0 } )
   aAdd( aCampos , { "uni_prod"  , "C" , 03 , 0 } )
   aAdd( aCampos , { "mar_prod"  , "C" , 20 , 0 } )
   aAdd( aCampos , { "ref_prod"  , "C" , 30 , 0 } )
   aAdd( aCampos , { "pcu_prod"  , "N" , 13 , 2 } )
   aAdd( aCampos , { "pve_prod"  , "N" , 13 , 2 } )
   aAdd( aCampos , { "qtd_prod"  , "N" , 12 , 4 } )
   aAdd( aCampos , { "fat_prod"  , "N" , 05 , 2 } )
   aAdd( aCampos , { "dec_prod"  , "L" , 01 , 0 } )
   aAdd( aCampos , { "mat_prod"  , "C" , 02 , 0 } )
   aAdd( aCampos , { "ati_prod"  , "L" , 01 , 0 } )
   aAdd( aCampos , { "usu_prod"  , "C" , 08 , 0 } )
   aAdd( aCampos , { "tim_prod"  , "C" , 16 , 0 } )
   Hb_DbCreateTemp("tempprod", aCampos, "DBFCDX")

   INDE ON tempprod->qtd_prod TAG "temppro1" TO ("tempprod") Memory Additive
   INDE ON tempprod->fam_prod+tempprod->cod_prod TAG "temppro2" TO ("tempprod") Memory Additive

Return nil

jah que usa sqlrdd, outra ideia seria:

cSelect := 'SELECT MAX(LENGTH(cel_clie)) nTam FROM clie'
DbUseArea(.t.,"SQLRDD",cSelect,"Temp")
nTamanho := Temp->nTam
Temp->(DbCloseArea())

espero ter ajudado

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...