[pgbr-geral] Migrando de xBase para Postgre

2013-05-18 Por tôpico edson_vc
Olá pessoal,
estou migrando do xBase para o Postgre e tenho uma dúvida quanto a um
comando que uso no xBase.

Tenho duas bases de dados no xBase e uso a união entre elas para executar os
comandos.
Meu sistema é multi-empresa por isso tenho uma base de dados de cadastro,
comum entre as empresas e uma base de movimentos para cada empresa.

Um comando select para buscar os dados nas bases no xBase fica assim:
Select pedido.Id As pedido, pedido.dataped, pedido.vlrped, pedido.situ,
pedido.operacao,;
   Iif(pedido.operacao = 1, pedido.idtabpreco, Cast(-1 As Integer)) As
idtabpreco,;
   Nvl(cliente.razao, Space(Fsize('razao', 'cliente'))) As cliente;
   From C:\Sistema\basemov\base.dbc!pedido;
   Left Join C:\Sistema\basemov\base.dbc!eminot On pedido.ideminot =
eminot.Id;
   Left Join C:\Sistema\basecad\base.dbc!cliente On pedido.idcliente =
cliente.Id;
   Where pedido.dataped Between Thisform.txtDataIni.Value And
Thisform.txtDataFin.Value And pedido.tipdoc = 2 Into Cursor cCursor

Nas linhas:
  From C:\Sistema\*basemov*\base.dbc!pedido;
 e
 Left Join C:\Sistema\*basemov*\base.dbc!eminot On pedido.ideminot =
eminot.Id;
busco os dados da base de movimentos e na linha:
   Left Join C:\Sistema\*basecad*\base.dbc!cliente On pedido.idcliente =
cliente.Id;
busco os dados na base de cadastros.
A pergunta é:
como posso fazer isso no Postgre?




--
View this message in context: 
http://postgresql.1045698.n5.nabble.com/Migrando-de-xBase-para-Postgre-tp5756107.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Migrando de xBase para Postgre

2013-05-18 Por tôpico Mário Agostinho Reis
Eu há muito tempo que não uso xBase(DBF files) mas pelo que percebi da sua
explicação
eu importaria os ficheiros de cadastro para uma tabela e depois com uma
view ligava o
Cadastro às diferentes empresas nem que para isso tive que criar a LnkTbl
com pelo menos
os campos Controlo_ID+ Cadastro_d+Empresa_ID. A minha Primary Key seria o
Controlo_ID
to tipo  BigInteger (AutoIncrementado) Depois se quizer o Controlo_ID sem
falha pelo meio
faz um um Triger Before Insert do tipo (Select Max(ID) from LnkTbl  into
:WID
If (:WID is null) then
  WID=1
Else
 wID=:Wid+1

new.controlo id=:WID;

Depois com uma View faz as sele~ções que quizer.
Espero ter ajudado

Com os meus melhores cumprimentos
O Secretário Geral da ACRA
Mário Agostinho  Reis

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


No dia 19 de Maio de 2013 às 01:52, edson_vc ed...@cybersis.com.brescreveu:

 Olá pessoal,
 estou migrando do xBase para o Postgre e tenho uma dúvida quanto a um
 comando que uso no xBase.

 Tenho duas bases de dados no xBase e uso a união entre elas para executar
 os
 comandos.
 Meu sistema é multi-empresa por isso tenho uma base de dados de cadastro,
 comum entre as empresas e uma base de movimentos para cada empresa.

 Um comando select para buscar os dados nas bases no xBase fica assim:
 Select pedido.Id As pedido, pedido.dataped, pedido.vlrped, pedido.situ,
 pedido.operacao,;
Iif(pedido.operacao = 1, pedido.idtabpreco, Cast(-1 As Integer)) As
 idtabpreco,;
Nvl(cliente.razao, Space(Fsize('razao', 'cliente'))) As cliente;
From C:\Sistema\basemov\base.dbc!pedido;
Left Join C:\Sistema\basemov\base.dbc!eminot On pedido.ideminot =
 eminot.Id;
Left Join C:\Sistema\basecad\base.dbc!cliente On pedido.idcliente =
 cliente.Id;
Where pedido.dataped Between Thisform.txtDataIni.Value And
 Thisform.txtDataFin.Value And pedido.tipdoc = 2 Into Cursor cCursor

 Nas linhas:
   From C:\Sistema\*basemov*\base.dbc!pedido;
  e
  Left Join C:\Sistema\*basemov*\base.dbc!eminot On pedido.ideminot =
 eminot.Id;
 busco os dados da base de movimentos e na linha:
Left Join C:\Sistema\*basecad*\base.dbc!cliente On pedido.idcliente =
 cliente.Id;
 busco os dados na base de cadastros.
 A pergunta é:
 como posso fazer isso no Postgre?




 --
 View this message in context:
 http://postgresql.1045698.n5.nabble.com/Migrando-de-xBase-para-Postgre-tp5756107.html
 Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Migrando de xBase para Postgre

2013-05-18 Por tôpico Euler Taveira
On 18-05-2013 22:52, edson_vc wrote:
 estou migrando do xBase para o Postgre e tenho uma dúvida quanto a um
 comando que uso no xBase.
 
PostgreSQL ou simplesmente Postgres.

 Tenho duas bases de dados no xBase e uso a união entre elas para executar os
 comandos.
 Meu sistema é multi-empresa por isso tenho uma base de dados de cadastro,
 comum entre as empresas e uma base de movimentos para cada empresa.
 
Com comum você quer dizer que qualquer empresa pode consultar os dados
nas tabelas ali contidas? Se sim, considere utilizar esquemas [1].

Você pode ter um esquema foo contendo as tabelas em comum e vários
esquemas empresaX para cada empresa que utilizar o sistema. Através de
permissões de acesso, você fornece acesso a um determinado usuário
somente a uma dada empresa e ao esquema foo.


[1] http://www.postgresql.org/docs/current/static/ddl-schemas.html


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral