assistant graphique pour requêtes hsql évoluées

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
Messages : 753
Inscription : 09 avr. 2013 07:15
Localisation : T'as pas dit bonjour, merci et à bientot !

assistant graphique pour requêtes hsql évoluées

Message par martinbrait »

Bonjour,

Cas d'utilisation :
Les requêtes SQL sont indispensables à la manipulation quotidienne des bases de données.
Elles permettent :
la définition des données (DDL),
la formation des vues (DDL),
la manipulation des données (DML),
la gestion des règles d’intégrité (DDL),
la gestion des autorisations (DCL)
et la délimitation des frontières des transactions (TCL)

Mais comment faire tout ça sans être du jour au lendemain, un expert du dialecte HSQL ?

Je cherche un assistant graphique pour élaborer des requêtes évoluées.
  • recherche de doublons
  • recherche de non-correspondances
  • modification
  • création de table
  • suppression
Pour avancer sur le sujet,
j'ai téléchargé SQLeo, pour l'interfacer avec ma base references.odb "embarquée".
connexion hsqldb.PNG
*ttp://sourceforge.net/projects/sqleo/reviews/
*ttp://www.youtube.com/watch?v=emDrdj0IxNI

Hélas, j'ai bloqué sur la configuration de SQLeo.
Je parviens à me connecter sans erreur à ma base, references.odb, enregistrée sur mon poste de travail.
Hélas, aucune table déjà créée dans ma base references.odb ne s'affiche :(



Pour l'instant, je compense mon manque d'outil graphique (et de savoir-coder hsql) en collectionnant des hsql divers et variés.
Mais tout ça est bien pesant sans assistant graphique hsql ! :(

-- sous HSQL, l'implicit select ne se fait pas !!!
-- Comment faire une mise à jour entre deux tables ?

Code : Tout sélectionner

UPDATE "Table2" SET "Table2"."Champx" = 'dd'
WHERE "Table2"."ChampClef" IN
(SELECT "Table1" from "Table2","Table1" WHERE "Table2"."ChampClef"= "Table1"."ChampClefRelatif")

-- mise à jour d'un champ avec une table liée

Code : Tout sélectionner

UPDATE "Table1"
SET "Champ1"= (SELECT "ChampEquiv1" FROM "Table2"
WHERE "Table1"."ChampCle" = "Table2"."ChampCleRelatif")


-- update de 2 champs entre 2 tables liées :

Code : Tout sélectionner

    UPDATE "Table2" SET "nom" = (SELECT "nom" FROM "Table1" WHERE "idk" = "Table2"."idk"),"prenom" = (SELECT "prenom" FROM "Table1" WHERE "idk" = "Table2"."idk")

-- Vérifier et supprimer les doublons, le cas échéant :

Code : Tout sélectionner

SELECT "NUMDOS",COUNT("NUMDOS")As "doublon" FROM "T_DOSSIER" 
group by "NUMDOS"
having COUNT("NUMDOS")>1
-- Mettre à jour entre les deux tables, la clef de correspondance doit être unique

Code : Tout sélectionner

UPDATE "T_ARCHIVE" SET "REF_DOSSIER" =
(SELECT "ID_DOSSIER" FROM "T_DOSSIER" WHERE "NUMDOS" = "T_ARCHIVE"."REF_NUMDOS")
WHERE EXISTS
(SELECT "ID_DOSSIER" FROM "T_DOSSIER" WHERE "NUMDOS" = "T_ARCHIVE"."REF_NUMDOS")


Merci et à bientôt !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice version 5.4.7.2.M6 (x64)
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0

Locale : fr-FR (fr_FR)

Obligation de version


Bonjour, merci et à bientôt !