Écrire des requêtes SQL
Le type d’onglet interne le plus courant est l’onglet Requête (Query Tab), qui contient les éléments suivants :

- 1) En-tête de l’onglet (Tab Header) : vous y voyez le nom de l’onglet et une icône permettant de le fermer. Si une requête est en cours d’exécution dans l’onglet, un indicateur s’affiche. Si l’exécution se termine pendant que vous travaillez sur un autre onglet, un indicateur vert s’affiche. Un double clic sur le nom de l’onglet permet de le renommer.
- 2) Ajouter un onglet (Add Tab) : vous pouvez rapidement ajouter un autre onglet interne en cliquant sur l’icône plus.
- 3) Éditeur SQL (SQL Editor) : éditeur SQL complet avec coloration
syntaxique SQL, fonction Rechercher et remplacer (
Ctrl-FetCtrl-H) et un composant d’autocomplétion, décrit plus loin. Consultez Raccourcis clavier de l’éditeur pour la liste complète des raccourcis de l’éditeur (sélection, multi-curseurs, navigation, pliage de code, etc.). - 4) Exécuter (Execute) : le texte contenu dans l’éditeur SQL est exécuté
sur la base de données actuellement active lorsque vous cliquez sur ce bouton
(ou utilisez le raccourci,
Alt-Qpar défaut). Si du texte est sélectionné dans l’éditeur SQL, seul ce texte sélectionné est exécuté. Une fois la commande en cours d’exécution, un bouton rouge Annuler (Cancel) apparaît, permettant d’annuler l’exécution (ou via le raccourci,Alt-Cpar défaut). - 5) Indenter le SQL (Indent SQL) : ce bouton met en forme tout code SQL
écrit dans l’éditeur SQL (raccourci
Alt-Spar défaut,Ctrl-Ssous macOS). - 6) Historique des requêtes (Query History) : toutes les commandes exécutées sur la base de données actuelle sont enregistrées dans l’historique des requêtes, accessible en cliquant sur ce bouton. Vous pouvez également filtrer par date et par texte pour retrouver la commande SQL recherchée.
- 7) Explain (PostgreSQL uniquement) : exécute votre requête SQL sur
PostgreSQL en faisant précéder celle-ci de
EXPLAIN. Les résultats s’affichent sous forme textuelle et graphique dans l’onglet Explain (voir Visualiser les plans d’exécution pour plus de détails). - 8) Explain Analyze (PostgreSQL uniquement) : identique au bouton
Explain, mais exécute la requête SQL avec
EXPLAIN ANALYZE, ce qui exécute réellement la requête. - 9) Autocommit (PostgreSQL uniquement) : lorsqu’il est activé, chaque requête exécutée est validée (commit) dans la base de données. Lorsqu’il est désactivé, OmniDB démarre une transaction et, après l’exécution d’une requête, l’interface affiche des boutons permettant à l’utilisateur d’effectuer un Commit ou un Rollback. L’utilisateur peut aussi garder la transaction ouverte et exécuter d’autres commandes.
- 10) État du backend (PostgreSQL uniquement) : lorsque vous ouvrez un nouvel onglet Requête, l’état est « Not Connected» (Non connecté), car OmniDB n’a pas encore démarré de backend PostgreSQL. Lorsque vous exécutez la première requête, OmniDB démarre un nouveau backend et le relie à l’onglet Requête (chaque onglet Requête dispose de son propre backend). L’état du backend (idle, active, idle in transaction, etc.) s’affiche dans ce champ. Lorsque vous fermez l’onglet Requête, OmniDB termine le backend.
- 11) Format d’export : peut être CSV, TSV, XLSX, JSON, XML ou Markdown.
- 12) Exporter vers un fichier : en cliquant sur ce bouton, OmniDB exécute la requête actuelle et exporte les résultats vers un fichier. Dans l’application de bureau, une boîte de dialogue native « Enregistrer sous» s’ouvre, vous permettant de choisir directement où l’enregistrer. Lors d’une exécution en tant que OmniDB Server accessible par navigateur, le fichier est d’abord écrit dans le dossier temporaire du serveur, puis l’interface affiche un lien permettant de le télécharger via le navigateur.
- 13) Résultats des données : si la requête est un
SELECT, une grille affiche les résultats. S’il s’agit d’une commande DML ou DDL, le message renvoyé par le SGBD s’affiche. - 14) Messages (PostgreSQL uniquement) : tous les messages (comme ceux
générés par la commande
RAISE NOTICE) s’affichent ici. - 15) Vue Explain (PostgreSQL uniquement) : affiche un composant complet permettant de visualiser le plan d’exécution PostgreSQL sous forme textuelle ou graphique.
Une fois exécutés, les onglets sont également enregistrés dans la base de
données utilisateur d’OmniDB (titre et contenu) : ainsi, à la prochaine
ouverture d’OmniDB, vous les retrouverez tous ouverts. De plus, chaque commande
exécutée dans un onglet Requête est enregistrée dans votre historique des
requêtes ainsi que dans le fichier omnidb.log.
Autocomplétion SQL
L’éditeur SQL propose une fonctionnalité très utile lors de la création de
nouvelles requêtes : la complétion automatique du code SQL. Elle permet de
compléter automatiquement les colonnes d’une table référencée par un alias.
Pour ouvrir l’interface d’autocomplétion, il suffit de taper l’alias, le
caractère ., puis d’appuyer sur Ctrl-Space :

Si l’utilisateur démarre l’autocomplétion avec le curseur éloigné de tout alias de table, le composant affiche plusieurs catégories de données. En saisissant du texte dans le champ de filtre, les éléments de toutes les catégories sont filtrés :

Le composant d’autocomplétion est également capable d’identifier certaines
informations contextuelles. Par exemple, si vous saisissez le nom d’un schéma,
puis le caractère ., puis appuyez sur Ctrl-Space, vous pourrez filtrer
uniquement parmi les objets contenus dans ce schéma :

Veuillez noter que pour les SGBD autres que PostgreSQL, le composant d’autocomplétion ne fonctionne que pour les colonnes de tables.