[pgbr-geral] Migrando de xBase para Postgre
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
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
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