CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID INTEGER NOT NULL DEFAULT SERIAL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) NOT NULL DEFAULT 'Chen', averylonglongfieldname LONG, price FIXED(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT DATE, BIGFELLOW LONG, TS TIMESTAMP DEFAULT TIMESTAMP, PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD (height FLOAT(38), weight FLOAT(38)); ALTER TABLE KUTU.testtable MODIFY (height FLOAT(38) NOT NULL, weight FLOAT(38) NOT NULL);
sapdb
ALTER TABLE KUTU.table DROP ("col", col2);
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) );
CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID INT DEFAULT AUTOINCREMENT NOT NULL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname TEXT NULL, price NUMERIC(7,2) DEFAULT 0.00, MYDATE DATETIME DEFAULT GetDate(), BIGFELLOW TEXT NULL, TS DATETIME NULL, PRIMARY KEY (ID, LASTNAME) ); CREATE CLUSTERED INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD height REAL NULL, weight REAL NULL; ALTER TABLE KUTU.testtable ALTER COLUMN height REAL NOT NULL; ALTER TABLE KUTU.testtable ALTER COLUMN weight REAL NOT NULL;
sybase
ALTER TABLE KUTU.table DROP COLUMN "col", DROP COLUMN col2;
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) NULL );
CREATE DATABASE KUTU; DROP TABLE IF EXISTS KUTU.testtable; CREATE TABLE KUTU.testtable ( ID INTEGER NOT NULL AUTO_INCREMENT, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) NOT NULL DEFAULT 'Chen', averylonglongfieldname TEXT, price NUMERIC(7,2) DEFAULT 0.00, MYDATE TIMESTAMP, BIGFELLOW TEXT, TS TIMESTAMP, PRIMARY KEY (ID, LASTNAME) )TYPE=INNODB; ALTER TABLE KUTU.testtable ADD FULLTEXT INDEX idx (firstname, lastname); ALTER TABLE KUTU.testtable ADD INDEX idx2 (price, lastname); ALTER TABLE KUTU.testtable ADD height DOUBLE; ALTER TABLE KUTU.testtable ADD weight DOUBLE; ALTER TABLE KUTU.testtable MODIFY COLUMN height DOUBLE NOT NULL; ALTER TABLE KUTU.testtable MODIFY COLUMN weight DOUBLE NOT NULL;
mysql
ALTER TABLE KUTU.table DROP COLUMN `col`; ALTER TABLE KUTU.table DROP COLUMN col2;
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) );
Warning: Access does not supported DEFAULT values (field FIRSTNAME)
Warning: Access does not supported DEFAULT values (field LASTNAME)
Warning: Access does not supported DEFAULT values (field price)
Warning: Access does not supported DEFAULT values (field MYDATE)
Warning: Access does not supported DEFAULT values (field TS)
AlterColumnSQL not supported
DROP TABLE testtable; CREATE TABLE testtable ( ID COUNTER, FIRSTNAME VARCHAR(30), LASTNAME VARCHAR(28) NOT NULL, averylonglongfieldname MEMO, price NUMERIC(7,2), MYDATE DATETIME, BIGFELLOW MEMO, TS DATETIME, PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON testtable (firstname, lastname); CREATE INDEX idx2 ON testtable (price, lastname); ALTER TABLE testtable ADD height DOUBLE; ALTER TABLE testtable ADD weight DOUBLE;
accessDropColumnSQL not supported
CREATE TABLE adoxyz ( LASTNAME VARCHAR(32) );
CREATE USER KUTU IDENTIFIED BY tiger; / GRANT CREATE SESSION, CREATE TABLE,UNLIMITED TABLESPACE,CREATE SEQUENCE TO KUTU; / DROP TABLE KUTU.testtable CASCADE CONSTRAINTS; / drop sequence KUTU.seq_testtable; / CREATE TABLE KUTU.testtable ( ID DECIMAL(10) NOT NULL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname VARCHAR(4000), price DECIMAL(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT TRUNC(SYSDATE), BIGFELLOW VARCHAR(4000), TS DATE DEFAULT SYSDATE, PRIMARY KEY (ID, LASTNAME) )TABLESPACE USERS; / DROP SEQUENCE KUTU.SEQ_testtable; / CREATE SEQUENCE KUTU.SEQ_testtable ; / CREATE OR REPLACE TRIGGER KUTU.TRIG_SEQ_testtable BEFORE insert ON KUTU.testtable FOR EACH ROW WHEN (NEW.ID IS NULL OR NEW.ID = 0) BEGIN select KUTU.SEQ_testtable.nextval into :new.ID from dual; END;; / CREATE BITMAP INDEX idx ON KUTU.testtable (firstname, lastname); / CREATE INDEX idx2 ON KUTU.testtable (price, lastname); / ALTER TABLE testtable ADD ( height DECIMAL, weight DECIMAL); / ALTER TABLE testtable MODIFY( height DECIMAL NOT NULL, weight DECIMAL NOT NULL); /
oci8
ALTER TABLE table DROP("col", col2) CASCADE CONSTRAINTS; /
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) ); /
AlterColumnSQL needs a complete table-definiton for PostgreSQL
CREATE DATABASE KUTU LOCATION='/u01/postdata'; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID SERIAL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname TEXT, price NUMERIC(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT CURRENT_DATE, BIGFELLOW TEXT, TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON KUTU.testtable USING HASH (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD COLUMN height FLOAT8; ALTER TABLE KUTU.testtable ADD COLUMN weight FLOAT8;
CREATE TABLE adoxyz ( ID SERIAL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname TEXT, price NUMERIC(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT CURRENT_DATE, BIGFELLOW TEXT, TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (ID, LASTNAME) );
postgresDropColumnSQL needs complete table-definiton for PostgreSQL < 7.3
CREATE TABLE adoxyz ( LASTNAME VARCHAR(32) );
CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID INT IDENTITY(1,1) NOT NULL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname VARCHAR(4000) NULL, price NUMERIC(7,2) DEFAULT 0.00, MYDATE DATETIME DEFAULT GetDate(), BIGFELLOW VARCHAR(4000) NULL, TS DATETIME DEFAULT GetDate(), PRIMARY KEY (ID, LASTNAME) ); CREATE CLUSTERED INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD height REAL NULL, weight REAL NULL; ALTER TABLE KUTU.testtable ALTER COLUMN height REAL NOT NULL; ALTER TABLE KUTU.testtable ALTER COLUMN weight REAL NOT NULL;
CREATE TABLE adoxyz ( ID INT IDENTITY(1,1) NOT NULL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname VARCHAR(4000) NULL, price NUMERIC(7,2) DEFAULT 0.00, MYDATE DATETIME DEFAULT GetDate(), BIGFELLOW VARCHAR(4000) NULL, TS DATETIME DEFAULT GetDate(), PRIMARY KEY (ID, LASTNAME) );
mssql
ALTER TABLE table DROP COLUMN "col", DROP COLUMN col2;
CREATE TABLE adoxyz ( LASTNAME VARCHAR(32) NULL );
AlterColumnSQL not supported
CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID DECIMAL(10) NOT NULL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname VARCHAR(250), price DECIMAL(7,2) DEFAULT 0.00, MYDATE DATE, BIGFELLOW VARCHAR(250), TS DATE, PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD height DECIMAL(32,8); ALTER TABLE KUTU.testtable ADD weight DECIMAL(32,8);
genericDropColumnSQL not supported
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) );
AlterColumnSQL not supported
CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID INTEGER GENERATED ALWAYS AS IDENTITY, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname VARCHAR(3600), price DECIMAL(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT CURRENT_DATE, BIGFELLOW VARCHAR(3600), TS TIMESTAMP DEFAULT CURRENT TIMESTAMP, PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD height DOUBLE; ALTER TABLE KUTU.testtable ADD weight DOUBLE;
db2DropColumnSQL not supported
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) );
AlterColumnSQL not supported
CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID INTEGER NOT NULL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname VARCHAR(4000), price DECIMAL(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT cast('TODAY' as timestamp), BIGFELLOW VARCHAR(4000), TS TIMESTAMP DEFAULT cast('NOW' as timestamp), PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD height DOUBLE PRECISION; ALTER TABLE KUTU.testtable ADD weight DOUBLE PRECISION;
ibaseDropColumnSQL not supported
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) );
AlterColumnSQL not supported
CREATE DATABASE KUTU; DROP TABLE KUTU.testtable; CREATE TABLE KUTU.testtable ( ID SERIAL, FIRSTNAME VARCHAR(30) DEFAULT 'Joan', LASTNAME VARCHAR(28) DEFAULT 'Chen' NOT NULL, averylonglongfieldname TEXT, price DECIMAL(7,2) DEFAULT 0.00, MYDATE DATE DEFAULT TODAY, BIGFELLOW TEXT, TS DATETIME DEFAULT CURRENT, PRIMARY KEY (ID, LASTNAME) ); CREATE INDEX idx ON KUTU.testtable (firstname, lastname); CREATE INDEX idx2 ON KUTU.testtable (price, lastname); ALTER TABLE KUTU.testtable ADD height FLOAT; ALTER TABLE KUTU.testtable ADD weight FLOAT;
informixDropColumnSQL not supported
CREATE TABLE KUTU.adoxyz ( LASTNAME VARCHAR(32) );
<?xml version="1.0"?> <schema version="0.2"> <table name="mytable"> <field name="row1" type="I"> <descr>An integer row that's a primary key and autoincrements</descr> <KEY/> <AUTOINCREMENT/> </field> <field name="row2" type="C" size="16"> <descr>A 16 character varchar row that can't be null</descr> <NOTNULL/> </field> <index name="myindex"> <col>row1</col> <col>row2</col> </index> </table> <sql> <descr>SQL to be executed only on specific platforms</descr> <query platform="postgres|postgres7"> insert into mytable ( row1, row2 ) values ( 12, 'postgres stuff' ) </query> <query platform="mysql"> insert into mytable ( row1, row2 ) values ( 12, 'mysql stuff' ) </query> <query platform="mssql"> insert into mytable ( row1, row2 ) values ( 12, 'Microsoft stuff' ) </query> </sql> <table name="obsoletetable"> <DROP/> </table> </schema>SQL to build xmlschema.xml:
Array ( [0] => CREATE TABLE mytable ( row1 INTEGER NOT NULL AUTO_INCREMENT, row2 VARCHAR(16) NOT NULL, PRIMARY KEY (row1) ) [1] => ALTER TABLE mytable ADD INDEX myindex (row1, row2) [2] => insert into mytable ( row1, row2 ) values ( 12, 'mysql stuff' ) [3] => DROP TABLE IF EXISTS obsoletetable )SQL to build xmlschema-mssql.xml:
Fail 2