这些与表创建方式有何不同。
CREATE TABLE TABLENAME(
field1....
field2...
add constraint constraint1;
add constraint constraint2;
)
和
CREATE TABLE TABLENAME(
field1....
field2...
)
ALTER TABLE TABLENAME add constaint1
ALTER TABLE TABLENAME add constaint2
此外,第一个脚本在SQL +上失败,但它们传递给sqldeveloper 谢谢! PRATIK
答案 0 :(得分:4)
差别似乎是第一种方法是单一陈述,而第二种方法使用三种不同的陈述。 IF 语句成功,总体结果将是相同的。
您可能想检查您的synthax(特别是使用“;”):
SQL> CREATE TABLE table1 (
2 field1 NUMBER,
3 field2 NUMBER,
4 CONSTRAINT pk_table1 PRIMARY KEY (field1),
5 CONSTRAINT chk_table1 CHECK (field2 > 0)
6 );
Table created
SQL> CREATE TABLE table2 (
2 field1 NUMBER,
3 field2 NUMBER);
Table created
SQL> ALTER TABLE table2 ADD CONSTRAINT pk_table2 PRIMARY KEY (field1);
Table altered
SQL> ALTER TABLE table2 ADD CONSTRAINT chk_table2 CHECK (field2 > 0);
Table altered