是否可以在修改 Oracle table 时同时添加列和约束?
Is adding a column and a constraint at the same time while modifying an Oracle table possible?
我有一项作业要求我向 table 添加一列并为其提供约束。
"Add a column named Base_Salary with a datatype of NUMBER(7,2) to the
store_reps table. Ensure that the amount entered is above 0."
我认为这很简单,但也许我必须 ALTER table 两次,一次用于新列,一次用于添加约束?这似乎是多余且低效的。
我试过去掉第二个 'ADD' 并在括号周围移动,并移动逗号,似乎我所做的一切都有类似的错误。
这是我的尝试:
ALTER TABLE store_reps;
ADD (Base_Salary NUMBER(7, 2)),
ADD CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0);
我收到一个错误
ADD CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0)
ERROR report -
UNKNOWN COMMAND
还有一个:
Error starting at line : 74 in command -
ALTER TABLE store_reps
ADD (Base_Salary NUMBER(7, 2)),
CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0)
Error report -
非常感谢任何帮助。我几周前才开始 SQL,非常菜鸟。
create table tr (col1 number);
alter table tr add col2 varchar2(100) constraint tr_cons CHECK (col2 = 'a');
干杯!!
您的查询包含两个需要修复的语法问题:
- 去掉
CONSTRAINT
前的逗号
- 去掉
Base_Salary NUMBER(7, 2)
周围多余的一对大括号
工作示例:
create table store_reps (id number);
ALTER TABLE store_reps
ADD Base_Salary NUMBER(7, 2)
CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0);
我有一项作业要求我向 table 添加一列并为其提供约束。
"Add a column named Base_Salary with a datatype of NUMBER(7,2) to the store_reps table. Ensure that the amount entered is above 0."
我认为这很简单,但也许我必须 ALTER table 两次,一次用于新列,一次用于添加约束?这似乎是多余且低效的。
我试过去掉第二个 'ADD' 并在括号周围移动,并移动逗号,似乎我所做的一切都有类似的错误。
这是我的尝试:
ALTER TABLE store_reps;
ADD (Base_Salary NUMBER(7, 2)),
ADD CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0);
我收到一个错误
ADD CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0)
ERROR report -
UNKNOWN COMMAND
还有一个:
Error starting at line : 74 in command -
ALTER TABLE store_reps
ADD (Base_Salary NUMBER(7, 2)),
CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0)
Error report -
非常感谢任何帮助。我几周前才开始 SQL,非常菜鸟。
create table tr (col1 number);
alter table tr add col2 varchar2(100) constraint tr_cons CHECK (col2 = 'a');
干杯!!
您的查询包含两个需要修复的语法问题:
- 去掉
CONSTRAINT
前的逗号
- 去掉
Base_Salary NUMBER(7, 2)
周围多余的一对大括号
工作示例:
create table store_reps (id number);
ALTER TABLE store_reps
ADD Base_Salary NUMBER(7, 2)
CONSTRAINT store_reps_Base_Salary CHECK (Base_Salary>0);