Bom dia pessoal, no decorrer do meu trabalho com o e-cidade aprendi algumas dicas que considero bem úteis em relação ao desenvolvimento do e-cidade, a medida que eu for descobrindo mais vou postando, quem também tiver dicas fiquem a vontade para postar, acho que quanto mais agente compartilhar informações melhor esse é o espírito.
Primeira dica é o comando sql: select fc_startsession() . Como vocês podem reparar nos fontes do e-cidade as queries não especificam o esquema, mas se você for executar qualquer query você tem que especificar o esquema exemplo select * from protocolo.cgm . Portanto se toda vez que você for executar queries ou até debugar queries do sistema que as vezes são bem grandes você digitando select fc_startsession() apenas uma vez, você economizará bastante tempo, não precisando se preocupar com nomes dos esquemas a query exemplo ficaria select * from cgm.
Como o e-cidade trabalha com dicionário de dados cadastrado no próprio banco agente pode ou consultar tabelas e esquemas no módulo configuração, mas caso você já esteja com o banco aberto é quer saber rapidamente informações sobre o dicionário de dados temos alguns exemplos como:
Nesse ex
Nesse exemplo a query retorna a descrição dos campos de uma tabela passando a sigla da tabela |
select db_syscampo.nomecam,
db_syscampo.descricao from db_sysarquivo natural join db_sysarqcamp inner join db_syscampo on db_sysarqcamp.codcam = db_syscampo.codcam where sigla ~ 'k125' order by nomearq; |
Nesse exemplo a query retorna a descrição de uma tabela passando a sigla da tabela |
select db_sysarquivo.nomearq,db_sysarquivo.descricao from db_sysarquivo where sigla ~ 'k125'; |
Nesse exemplo a query retorna a descrição de uma tabela passando o nome da tabela |
select db_sysarquivo.nomearq, db_sysarquivo.descricao from db_sysarquivo where nomearq = 'cgm'; |
Nesse exemplo a query retorna o esquema e nome da tabela passando o nome de um dos campos da tabela |
select nomemod, db_sysarquivo.nomearq from db_syscampo inner join db_sysarqcamp on db_syscampo.codcam = db_sysarqcamp.codcam inner join db_sysarquivo on db_sysarqcamp.codarq = db_sysarquivo.codarq inner join db_sysarqmod on db_sysarqmod.codarq = db_sysarquivo.codarq inner join db_sysmodulo on db_sysmodulo.codmod = db_sysarqmod.codmod where db_syscampo.nomecam = 'c58_sequencial'; |
Bem pessoal, espero poder ter ajudado, vou organizar alguns conteúdos para poder postar sempre que possível, acho que se agente compartilhas informações do sistema de qualquer espécie agente poder ter uma comunidade mais ativa e evolutiva.
Autor: Douglas Dias Reis | 10mb Tecnologia
22 comentários