[SQLite] Drop Table et Create Table

Le
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é)
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Roumegou
Le #13289901
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é)
jacques trepp
Le #13289891
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
Roumegou
Le #13289661
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é)
Firetox
Le #13289631
Bonjour,


"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 ??


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é)



Publicité
Poster une réponse
Anonyme