alter table tablenamne drop constraint constraintname;
可以用相应数据库的具有相应权限的用户登陆,然后执行 alter table tablenamne drop constraint constraintname; 即可
hellowang123(天天有收获) : 权限是一致的,那我在本机上执行 alter table [table_name] drop constraint SYS_C0016122;那在另外一台机器上,同样执行 alter table [table_name] drop constraint SYS_C0016122; 可行吗??? 在另外一台机器上约束名还是SYS_C0016122???
刚接触Oracle不久,希望大家来帮忙!!!!
先查询user_contraints得到约束的名称
to :drabit(square)表名为test,约束的字段名为name,系统创建的unique约束名为SYS_C0016122; 我在另外机器上怎样得到那个数据库下test表name字段的unique约束的名称???
select uc.CONSTRAINT_NAME from user_constraints uc,user_cons_columns ucc where ucc.constraint_name=uc.constraint_name and uc.table_name='TEST' and ucc.column_name='NAME' and uc.constraint_type='U'
谢谢drabit(square)!!! 我现在将得到的约束名放到一个变量里面,怎么看到这个变量的值? 我的脚本是: declare v_constraint varchar2(50); begin select uc.CONSTRAINT_NAME into v_constraint from user_constraints uc,user_cons_columns ucc where ucc.constraint_name=uc.constraint_name and uc.table_name='YANG' and ucc.column_name='BB' and uc.constraint_type='U'; end; 这样运行没问题。接下来要删除这个约束, 用alter table test drop v_constraint; ???这样还不行。
declare v_constraint varchar2(50); begin select uc.CONSTRAINT_NAME into v_constraint from user_constraints uc,user_cons_columns ucc where ucc.constraint_name=uc.constraint_name and uc.table_name='YANG' and ucc.column_name='BB' and uc.constraint_type='U';execute immediate 'alter table test drop constraint '||v_constraint;end;
alter table tablenamne drop constraint constraintname;
即可
权限是一致的,那我在本机上执行
alter table [table_name] drop constraint SYS_C0016122;那在另外一台机器上,同样执行
alter table [table_name] drop constraint SYS_C0016122; 可行吗???
在另外一台机器上约束名还是SYS_C0016122???
我在另外机器上怎样得到那个数据库下test表name字段的unique约束的名称???
ucc.constraint_name=uc.constraint_name and
uc.table_name='TEST' and
ucc.column_name='NAME' and
uc.constraint_type='U'
我现在将得到的约束名放到一个变量里面,怎么看到这个变量的值?
我的脚本是:
declare
v_constraint varchar2(50);
begin
select uc.CONSTRAINT_NAME into v_constraint from user_constraints uc,user_cons_columns ucc where
ucc.constraint_name=uc.constraint_name and
uc.table_name='YANG' and
ucc.column_name='BB' and
uc.constraint_type='U';
end;
这样运行没问题。接下来要删除这个约束,
用alter table test drop v_constraint; ???这样还不行。
v_constraint varchar2(50);
begin
select uc.CONSTRAINT_NAME into v_constraint from user_constraints uc,user_cons_columns ucc where
ucc.constraint_name=uc.constraint_name and
uc.table_name='YANG' and
ucc.column_name='BB' and
uc.constraint_type='U';execute immediate 'alter table test drop constraint '||v_constraint;end;