更新时间:2022-06-13 GMT+08:00
表(DB2)
Gauss关键词
关键字作为列名时,必须添加英文引号,例如:"order"。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_bd2 ( ORDER NUMBER(10), USER varchar2(30), DATE VARCHAR(10 ); |
CREATE TABLE tbl_bd2 ( "ORDER" NUMBER(10), "USER" varchar2(30), "DATE" VARCHAR(10 ); |
数据类型 (一)
“LONG VARCHAR”应修改为“CLOB”。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID VARCHAR(36), NAME LONG VARCHAR ); |
CREATE TABLE tbl_db2 ( ID VARCHAR(36), NAME CLOB ); |
LONG VARGRAPHIC。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID VARCHAR(36), NAME LONG VARGRAPHIC ); |
CREATE TABLE tbl_db2 ( ID VARCHAR(36), NAME CLOB ); |
外键
对以下外键约束属性进行注释:
- ON UPDATE RESTRICT
- ENFORCED
- ENABLE QUERY OPTIMIZATION
DB2语法
迁移后语法
ALTER TABLE "SCH"."TBL_DB2" ADD CONSTRAINT "Const_Name" FOREIGN KEY("ID") REFRENCES "SCH"."TBL_DB2_1"("ID") ON DELETE CASCADE ON UPDATE RESTRICT ENFORCED ENABLE QUERY OPTIMIZATION;
ALTER TABLE "SCH"."TBL_DB2" ADD CONSTRAINT "Const_Name" FOREIGN KEY("ID") REFRENCES "SCH"."TBL_DB2_1"("ID") ON DELETE CASCADE /*ON UPDATE RESTRICT ENFORCED ENABLE QUERY OPTIMIZATION*/;
序列
内置自动增量函数。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH +1 INCREMENT BY +1 MINVALUE +1 MAXVALUE +9223372036854775807 NO CYCLE CACHE 20 NO ORDER ) , NAME VARCHAR2(50), ORDER VARCHAR2(100) ); |
CREATE SEQUENCE mseq_tbl_db2_id START WITH +1 INCREMENT BY +1 MINVALUE +1 MAXVALUE +9223372036854775807 NOCYCLE CACHE 20 NOORDER; CREATE TABLE tbl_db2 ( ID BIGINT NOT NULL DEFAULT mseq_tbl_db2_id.NEXTVAL, NAME VARCHAR2(50), "ORDER" VARCHAR2(100) ); |
表空间
即将放置表的表空间由IN子句指定。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID number(20) NOT NULL DEFAULT IDENTITY.NEXTVAL, NAME VARCHAR2(50) ) IN tbs1 ; |
CREATE TABLE tbl_db2 ( ID number(20) NOT NULL DEFAULT IDENTITY.NEXTVAL, NAME VARCHAR2(50) ) TABLESPACE tbs1 ; |
缺省值
给“WITH DEFAULT”指定给一个具体的缺省值。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), STATUS CHAR(1) WITH DEFAULT '0' ); |
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), STATUS CHAR(1) DEFAULT '0' ); |
没有指定值的缺省值。
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), STATUS CHAR(1) WITH DEFAULT ); |
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), STATUS CHAR(1) ); |
数据类型 (二)
CLOB(1048576)
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), REMARKS CLOB(1048576)); |
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), REMARKS CLOB ); |
BLOB(2048000)
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), REMARKS BLOB(2048000) ); |
CREATE TABLE tbl_db2 ( ID number(20) , NAME VARCHAR2(50), REMARKS BLOB ); |
LOB选项
LOGGED/UNLOGGED
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( "ID" number(20) , "NAME" VARCHAR2(50), "REMARKS" BLOB LOGGED ); |
CREATE TABLE tbl_db2 ( "ID" number(20) , "NAME" VARCHAR2(50), "REMARKS" BLOB /*LOGGED */ ); |
COMPACT/NOT COMPACT
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( "ID" number(20) , "NAME" VARCHAR2(50), "REMARKS" BLOB LOGGED NOT COMPACT ); |
CREATE TABLE tbl_db2 ( "ID" number(20) , "NAME" VARCHAR2(50), "REMARKS" BLOB /*LOGGED */ /* NOT COMPACT*/ ); |
Organize By子句
Organize By子句
DB2语法 |
迁移后语法 |
---|---|
CREATE TABLE tbl_db2 ( "ID" number(20) , "NAME" VARCHAR2(50), "REMARKS" BLOB ) IN tbs1 ORGANIZE BY ("ID","NAME"); |
CREATE TABLE tbl_db2 ( "ID" number(20) , "NAME" VARCHAR2(50), "REMARKS" BLOB ) TABLESPACE tbs1 /*ORGANIZE BY ("ID","NAME")*/; |
父主题: DB2语法迁移