Cinco Dicas de InterBase e Firebird

Veja cinco dicas de InterBase e Firebird com Daniel P. Guimarães

Cinco Dicas de InterBase e Firebird

Excluir código-fonte de stored procedure

Uma grande preocupação que tem tomado conta da cabeça de muitos programadores é a possibilidade de um programador concorrente pegar o código-fonte das stored procedures armazenadas em banco de dados InterBase/FireBird. Uma solução encontrada é apagar o código-fonte diretamente da tabela de sistema onde o InterBase grava as informações relativas às stored procedures. Para fazer isto execute o comando abaixo: UPDATE RDB$PROCEDURES SET RDB$PROCEDURE_SOURCE = 'empty'
Observações

A mesma coisa pode ser feita com triggers. No entanto é importante lembrar que você não deve atribuir NULL, pois havia um bug no InterBase que fazia o trigger ser disparado duas vezes caso o código-fonte estivesse NULL. Não sei se o bug foi corrigido. De qualquer forma, atribua uma string qualquer, tal como no exemplo acima.


Obter os campos da chave-primária

Execute o comando SELECT abaixo para obter os nomes dos 
campos da chave-primaria de uma tabela do InterBase ou
FireBird.

SELECT RDB$FIELD_NAME
FROM
  RDB$RELATION_CONSTRAINTS C,
  RDB$INDEX_SEGMENTS S
WHERE
  C.RDB$RELATION_NAME = 'NomeDaTabela' AND
  C.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY' AND
  S.RDB$INDEX_NAME = C.RDB$INDEX_NAME
ORDER BY RDB$FIELD_POSITION

Observações

Estes objetos com nomes iniciados com RDB$ são chamados de objetos de sistema e são usados internamente pelo InterBase/FireBird. As tabelas começadas com RDB$ contém dados sobre a estrutura do banco de dados.


Definir forced writes usando o gfix

Para mudar a propriedade "Forced Writes" de um banco de dados 
InterBase usando o gfix faça:

Para ativar:
gfix banco -write sync -user sysdba -password senha

Para desativar:
gfix banco -write async -user sysdba -password senha

Onde:

banco = Caminho completo do banco de dados (arquivo .gdb).
senha = senha do sysdba.

Observações

Você também poderá usar o IBConsole para alterar esta propriedade.


Definir sweep interval com gfix

Para definir o "sweep interval" de um banco de dados InterBase 
usando o gfix, execute:

gfix banco -housekeeping n -user sysdba -password senha

Onde:

banco = Caminho completo do banco de dados (arquivo .gdb).
n = Intervalo de sweep.
senha = senha do sysdba.

Observações

Você também poderá alterar esta propriedade do banco de dados usando o IBConsole.

Obter a data do servidor

Isto é facilmente possível se você usa um banco de dados 
Client/Server, tal como Interbase, SQL Server, Oracle, etc. 

No Interbase6 execute a Query abaixo:

SELECT CURRENT_DATE FROM RDB$DATABASE;

O resultado é a data do servidor onde está rodando o 
Interbase Server.

Observações

A tabela usada no SELECT foi RDB$DATABASE, mas poderia ser qualquer tabela que possua apenas um registro. RDB$DATABASE é uma tabela de sistema do Interbase.

Autor: Daniel P. Guimarães
Home-page: www.tecnobyte.com.br

 

Links Úteis

  • Downloads do SQL Server:
  • SQL:
    SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional.
  • MySQL:

Saiba mais sobre Java ;)

  • Curso de Administração de Banco de Dados com SQL Server:
    ​Neste curso estudaremos os principais tópicos necessários para profissionais que utilizam o SQL Server como servidor de banco de dados no dia a dia.
  • SQL Server 2016:
    Este artigo aborda as novidades disponibilizadas na versão 2016 do SQL Server com o intuito de expor suas melhorias e seus novos recursos.
  • Trabalhando com a linguagem T-SQL:
    Este artigo apresenta o uso da linguagem T-SQL. Serão discutidos alguns recursos que podem ser usados no desenvolvimento e manipulação na consulta a dados usando a ferramenta SQL Server.

Artigos relacionados