bonjour
voici une commande de création de table sqllite exécute avec dbeaver 5.0.3 .
On voit que la CONSTRAINT d'intégrité portant la même dénomination "actes_pk " ne pose pas de problème à Sqlite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE l_actes( ACT_CODE text(255), ACT_LIBELLE text(255), CONSTRAINT actes_pk PRIMARY KEY(ACT_CODE)); CREATE TABLE l_actes2( ACT_CODE text(255), ACT_LIBELLE text(255), CONSTRAINT actes_pk PRIMARY KEY(ACT_CODE));
Oui ceci n’est pas très propres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE TABLE l_actes( ACT_CODE varchar(255), ACT_LIBELLE varchar(255), CONSTRAINT actes_pk PRIMARY KEY(ACT_CODE)); CREATE TABLE l_actes2( ACT_CODE varchar(255), ACT_LIBELLE varchar(255), CONSTRAINT actes_pk PRIMARY KEY(ACT_CODE));
voici la même requête code transposé en Postgre.
On voit que pour ce qui concerne Postgre (version 10) même pour 2 bases différentes il faut différentier les relations tel que les contraintes de clé uniques.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SQL Error [42P07]: ERREUR: la relation « actes_pk1 » existe déjà SQL Error [42P07]: ERREUR: la relation « actes_pk1 » existe déjà SQL Error [42P07]: ERREUR: la relation « actes_pk1 » existe déjà SQL Error [42P07]: ERREUR: la relation « actes_pk1 » existe déjà ERREUR: la relation « actes_pk1 » existe déjà ERREUR: la relation « actes_pk1 » existe déjà
Donc pour être plus propre en SQLLITE
POSTGRE 10
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE l_actes( ACT_CODE text(255), ACT_LIBELLE text(255), CONSTRAINT actes_pk PRIMARY KEY(ACT_CODE)); CREATE TABLE l_actes2( ACT_CODE text(255), ACT_LIBELLE text(255), CONSTRAINT actes_pk2 PRIMARY KEY(ACT_CODE));
Dommage que SQLLITE ne remonte pas d'erreur similaire à Postgre lors de la création.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE l_actes( ACT_CODE varchar(255), ACT_LIBELLE varchar(255), CONSTRAINT actes_pk1 PRIMARY KEY(ACT_CODE)); CREATE TABLE l_actes2( ACT_CODE varchar(255), ACT_LIBELLE varchar(255), CONSTRAINT actes_pk2 PRIMARY KEY(ACT_CODE));
Partager