From c379bd2e856f1101ddbaf2b45922bb7e363b63ab Mon Sep 17 00:00:00 2001 From: XudongXie Date: Fri, 13 Sep 2024 09:50:51 +0800 Subject: [PATCH] revise create table document --- sqlTranslate/.idea/workspace.xml | 40 +++++++++---------- .../java/Document/Column constraint in Oracle | 18 --------- .../java/Document/Table constraint in Oracle | 14 ------- .../src/main/java/Parser/OracleParser.java | 2 +- 4 files changed, 21 insertions(+), 53 deletions(-) delete mode 100644 sqlTranslate/src/main/java/Document/Column constraint in Oracle delete mode 100644 sqlTranslate/src/main/java/Document/Table constraint in Oracle diff --git a/sqlTranslate/.idea/workspace.xml b/sqlTranslate/.idea/workspace.xml index 84a3005ad..faadf6cbe 100644 --- a/sqlTranslate/.idea/workspace.xml +++ b/sqlTranslate/.idea/workspace.xml @@ -4,8 +4,8 @@ - - @@ -486,7 +484,9 @@ - diff --git a/sqlTranslate/src/main/java/Document/Column constraint in Oracle b/sqlTranslate/src/main/java/Document/Column constraint in Oracle deleted file mode 100644 index 4afc4c079..000000000 --- a/sqlTranslate/src/main/java/Document/Column constraint in Oracle +++ /dev/null @@ -1,18 +0,0 @@ -NOT NULL - 用于指定某列不允许为空。 - 示例:column_name VARCHAR2(50) NOT NULL -PRIMARY KEY - 用于指定某列为表的主键,主键列必须唯一且不能为空。 - 示例:column_name NUMBER(10) PRIMARY KEY -UNIQUE - 用于指定某列的值必须是唯一的,但允许为空。 - 示例:column_name VARCHAR2(50) UNIQUE -CHECK - 用于指定某列上的值必须满足一个条件。 - 示例:column_name NUMBER CHECK (column_name > 0) -FOREIGN KEY - 用于定义外键约束,外键引用另一个表的主键或唯一键。 - 示例:column_name NUMBER(10) REFERENCES other_table(other_column) -DEFAULT - 用于指定某列如果没有给定值时的默认值。 - 示例:column_name VARCHAR2(50) DEFAULT 'default_value' \ No newline at end of file diff --git a/sqlTranslate/src/main/java/Document/Table constraint in Oracle b/sqlTranslate/src/main/java/Document/Table constraint in Oracle deleted file mode 100644 index 2b0462051..000000000 --- a/sqlTranslate/src/main/java/Document/Table constraint in Oracle +++ /dev/null @@ -1,14 +0,0 @@ -PRIMARY KEY - 用于定义表的主键,主键列必须唯一且不能为空。 - 可以定义单个列或多个列作为复合主键。 - 示例:CONSTRAINT pk_example PRIMARY KEY (column1, column2) -UNIQUE - 用于定义列的唯一性约束,允许为空。 - 可以定义在单个列或多列上。 - 示例:CONSTRAINT uk_example UNIQUE (column1) -FOREIGN KEY - 用于定义外键约束,外键引用另一个表的主键或唯一键。 - 示例:CONSTRAINT fk_example FOREIGN KEY (column1) REFERENCES other_table(column2) -CHECK - 用于定义整个表的一个或多个列上的约束条件。 - 示例:CONSTRAINT chk_example CHECK (column1 > 0) \ No newline at end of file diff --git a/sqlTranslate/src/main/java/Parser/OracleParser.java b/sqlTranslate/src/main/java/Parser/OracleParser.java index fe7919f4a..84e816e13 100644 --- a/sqlTranslate/src/main/java/Parser/OracleParser.java +++ b/sqlTranslate/src/main/java/Parser/OracleParser.java @@ -73,7 +73,7 @@ public class OracleParser { } /** - * CREATE TEMPORARY? TABLE _table ( _column _type [, _column _type]... ) [CONSTRAINT _constraint] [, _column _type [, _column _type]...] + * CREATE TEMPORARY? TABLE _table ( (_column _type column_constraint), (_column _type column_constraint)* table_constraint?) */ private ASTNode parseCreateTab(List parseTokens) { List tokens = new ArrayList<>();