Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SQLite] Drop Table et Create Table

4 réponses
Avatar
Roumegou
Aux pros de SQLite
Je génère à partir d'une base mysql, le script de création de la base
pour SQLite.
J'execute ensuite ce script sous dbmanager, et j'ai un pb car les
tables existent déjà alors que j'ai fait un drop table avant.

ex :
-- Création de la Table ACTION
DROP TABLE ACTION;
CREATE TABLE ACTION ([ACT_ID] INTEGER PRIMARY KEY NOT NULL DEFAULT
'NULL' ,[ACT_DESC] VARCHAR (50) DEFAULT 'NULL' etc ...;

-- Création des index
CREATE INDEX OPE_ID ON ACTION(OPE_ID);
-- Création de la Table ADRESS
DROP TABLE ADRESS;
CREATE TABLE ADRESS (OPE_ID,[ADR_ID] INTEGER PRIMARY KEY NOT NULL
DEFAULT 'NULL' ,[ADR_CIV] etc ...

va planter car ACTION existe déjà.

Si je rajoute BEGIN TRANSACTION et END TRANSACTION pour une table, cela
marche. Pour chaque table, cela gueule sur le 2nd begin transaction.
Si je met un begin transaction en début de script et le end en fin de
script, il ne fait pas les drop table.

Je ne comprends pas trop ce qui cloche ???

--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)

4 réponses

Avatar
Roumegou
Apparemment mon pb vient des commentaires. La ligne qui suit
immédiatement la ligne -- ne serait pas executée.
Je ne vois pas pourquoi; donc j'ai supprimé les commentaires générés
automatiquement.


Après mure réflexion, Roumegou a écrit :
Aux pros de SQLite
Je génère à partir d'une base mysql, le script de création de la base pour
SQLite.
J'execute ensuite ce script sous dbmanager, et j'ai un pb car les tables
existent déjà alors que j'ai fait un drop table avant.

ex :
-- Création de la Table ACTION
DROP TABLE ACTION;
CREATE TABLE ACTION ([ACT_ID] INTEGER PRIMARY KEY NOT NULL DEFAULT 'NULL'
,[ACT_DESC] VARCHAR (50) DEFAULT 'NULL' etc ...;

-- Création des index
CREATE INDEX OPE_ID ON ACTION(OPE_ID);
-- Création de la Table ADRESS
DROP TABLE ADRESS;
CREATE TABLE ADRESS (OPE_ID,[ADR_ID] INTEGER PRIMARY KEY NOT NULL DEFAULT
'NULL' ,[ADR_CIV] etc ...

va planter car ACTION existe déjà.

Si je rajoute BEGIN TRANSACTION et END TRANSACTION pour une table, cela
marche. Pour chaque table, cela gueule sur le 2nd begin transaction.
Si je met un begin transaction en début de script et le end en fin de script,
il ne fait pas les drop table.

Je ne comprends pas trop ce qui cloche ???



--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
jacques trepp
Roumegou wrote:
Apparemment mon pb vient des commentaires. La ligne qui suit
immédiatement la ligne -- ne serait pas executée.
Je ne vois pas pourquoi; donc j'ai supprimé les commentaires générés
automatiquement.




j'avais généré un script de création avec DBManager pro 2.2.0, et je viens
de regarder le script généré : il n'y a aucun commentaire :

CREATE TABLE NAT (
CODENAT INTEGER NOT NULL,
LIBNAT CHAR(20) NULL);
CREATE UNIQUE INDEX IDX_NAT_1 ON [NAT](CODENAT);

CREATE TABLE NUMEROS (
NUMEROS_KUNIK INTEGER NOT NULL,
NUMEROS_CLE CHAR(20) NULL,
NUMEROS_TYPE CHAR(20) NULL,
NUMEROS_VALEUR INT(6) NULL);
CREATE UNIQUE INDEX IDX_NUMEROS_1 ON [NUMEROS](NUMEROS_KUNIK);

Je n'avais pas ajouté les DROP

--
Jacques TREPP
AlbyGest


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.669 / Virus Database: 431 - Release Date: 26/04/2004
Avatar
Roumegou
Roumegou a exprimé avec précision :
Apparemment mon pb vient des commentaires. La ligne qui suit immédiatement la
ligne -- ne serait pas executée.
Je ne vois pas pourquoi; donc j'ai supprimé les commentaires générés
automatiquement.



Il s'agit de DBmanager qui ne sait pas interprêter les commentaires car
meme les dumps qu'il génèrent lui meme posent pb.


Globalement, je trouve beaucoup d'approximations dans les produits dès
que l'on veut travailler avec SQLite. SGBD trop jeune ou à ne pas
prendre au sérieux ??

--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Firetox
Bonjour,


"Roumegou" a écrit dans le message de news:

Roumegou a exprimé avec précision :
> Apparemment mon pb vient des commentaires. La ligne qui suit


immédiatement la
> ligne -- ne serait pas executée.
> Je ne vois pas pourquoi; donc j'ai supprimé les commentaires générés
> automatiquement.
>
Il s'agit de DBmanager qui ne sait pas interprêter les commentaires car
meme les dumps qu'il génèrent lui meme posent pb.


Globalement, je trouve beaucoup d'approximations dans les produits dès
que l'on veut travailler avec SQLite. SGBD trop jeune ou à ne pas
prendre au sérieux ??


je pense en fait que ce sont les outils qui ont été sorti trop rapidement
depuis que j'utilise SQLite et MySQL j'ai pu m'en rendre compte

DBManager s'est voulu multi base (mais tu est la pour en convenir) la chose
n'est pas aussi simple qu'elle n'y parait. le code SQL d'une base a l'autre
change. et les reactions des base egalement.

c'est pour ca que j'ai un soft (maison) qui transfrome un fichier .SQL pour
MySQL en fichier .SQL pour SQLite
car dans le fond ils ne comprennent pas les meme ordres
passe moi un mail en prive et je te l'envoi.

bon dev
@+


--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)