是否有最接近这些示例之一的最佳实践?
CREATE TABLE TABLE1
(
ID NUMBER(18) CONSTRAINT TABLE1_PK PRIMARY KEY,
NAME VARCHAR2(10) CONSTRAINT NAME_NN NOT NULL
);
或
CREATE TABLE TABLE1
(
ID NUMBER(18),
NAME VARCHAR2(10) CONSTRAINT NAME_NN NOT NULL
);
ALTER TABLE TABLE1 ADD CONSTRAINT TABLE1_PK
PRIMARY KEY (ID)
USING INDEX (CREATE UNIQUE INDEX IDX_TABLE1_PK ON TABLE1 (ID));
一般来说,这两种情况都会产生更好的结果吗?第一个选项更具可读性,但也许有原因使后者更可取。
最佳答案
绝对是个人喜好。我更喜欢在单个 CREATE TABLE
语句中做尽可能多的事情,因为我发现它更简洁。大多数我需要的东西都在那里描述。
有时这是不可能的。假设你有两个表,每个表都有引用,或者你想先加载一个包含一堆数据的表,所以你在加载表之后添加额外的索引。
您会发现许多从 DB 创建模式的工具会将它们分开(主要是因为它总是正确的 -- 定义所有表,然后定义所有关系)。
但就个人而言,如果可行的话,我发现将所有内容集中在一个地方是最好的。
关于sql - 创建表的最佳实践 DDL 是什么?包含所有对象的单个语句还是创建和更改许多单个语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12292859/