.NET

Escrever Consultas SQL

O tipo mais comum de separador interior é o Separador de consulta, que contém os seguintes elementos. Os atalhos de teclado indicados abaixo são os predefinidos no Windows/Linux; no macOS, os atalhos próprios do OmniDB usam Ctrl em vez de Alt. Todos podem ser alterados em Definições > Atalhos de teclado.

A Query tab with the SQL editor, toolbar and results

O divisor entre o editor (com a sua barra de ferramentas) e os resultados pode ser arrastado para dar mais espaço a um ou a outro.

Confirmação de segurança para instruções destrutivas

Antes de executar uma instrução que comece por DROP ou TRUNCATE, ou um UPDATE/DELETE sem cláusula WHERE, o Separador de consulta pede confirmação (Esta instrução é destrutiva e não pode ser desfeita. Executar mesmo assim?, ou Esta instrução não tem cláusula WHERE e vai afetar TODAS as linhas. Executar mesmo assim?). É uma rede de segurança contra enganos involuntários, não um sistema de permissões — analisa apenas o início do texto (depois dos comentários).

Depois de executados, os separadores também são guardados na base de dados de utilizador do OmniDB (título e conteúdo), pelo que da próxima vez que abrir o OmniDB, verá todos abertos novamente. Além disso, todos os comandos que executar num Separador de consulta são guardados no histórico de comandos dessa ligação.

Autocompletar SQL

O editor SQL tem uma funcionalidade que ajuda muito ao criar novas consultas: conclusão automática de código SQL. Abra as sugestões com Ctrl-Space (Option-Space no macOS). Com esta funcionalidade é possível autocompletar colunas contidas numa tabela referenciada por um alias: escreva o alias, o carácter . e depois abra o autocompletar:

Autocomplete after a table alias

Se o utilizador não iniciar o autocompletar com o cursor próximo de um alias de tabela, o componente mostrará várias categorias de dados. Ao escrever na caixa de filtro, os elementos em todas as categorias serão filtrados:

Autocomplete offering all categories

O componente de autocompletar também é capaz de identificar alguma informação contextual. Por exemplo, se escrever o nome de um esquema e depois o carácter ., poderá filtrar entre objetos contidos apenas nesse esquema:

Autocomplete after a schema name

Depois de :: (uma conversão de tipo do PostgreSQL), são oferecidos apenas tipos de dados. Escolher uma palavra-chave acrescenta também aquilo que sempre se lhe segue (por exemplo, um espaço depois de SELECT, ou o parêntese de abertura depois de COALESCE). As categorias oferecidas (palavras-chave, bases de dados, roles, tablespaces, esquemas, extensões, tabelas, vistas, colunas, funções, índices) são definidas em Definições > Preenchimento automático.

Tenha em atenção que, para SGBD diferentes do PostgreSQL, o componente de autocompletar só funciona para colunas de tabelas.