Il existe quelques différences entre diverses syntax SQL selon ce qu’accepte votre moteur de base de donnée.
Je vais lister ici quelques remplacements à effectuer dans le cadre d’une adaptation d’un script exporté par Uniface / SolidDB 3 à destination d’une base Mysql.
Exemple à l’origine :
CREATE TABLE "CPX"."CPXOMS" (
"OMSID" DOUBLE PRECISION(15,0) NOT NULL,
"OMSAGECOD" CHAR(4),
"OMSETAT" CHAR(5),
"OMSPROV" INTEGER,
"OMSNUM" DOUBLE PRECISION(15,0),
"OMSDTCRE" TIMESTAMP,
"OMSDTSIN" DATE,
PRIMARY KEY ("OMSID")
);
COMMIT WORK;
Voici ce qu’il faut changer :
- supprimer les doubles quotes (« )
- remplacer les DOUBLE PRECISION par DECIMAL
Au final ce script doit fonctionner :
CREATE TABLE CPX.CPXOMSTEST ( OMSID DECIMAL(15,0) NOT NULL, OMSAGECOD CHAR(4), OMSETAT CHAR(5), OMSPROV INTEGER, OMSNUM DECIMAL(15,0), OMSDTCRE TIMESTAMP, OMSDTSIN DATE, PRIMARY KEY (OMSID) );