alter table [table_name]
drop constraint SYS_C0016122;

解决方案 »

  1.   

    alter table tablenamne drop constraint constraintname;
      

  2.   

    可以用相应数据库的具有相应权限的用户登陆,然后执行
    alter table tablenamne drop constraint constraintname;
    即可
      

  3.   

    hellowang123(天天有收获) :
    权限是一致的,那我在本机上执行
    alter table [table_name] drop constraint SYS_C0016122;那在另外一台机器上,同样执行
    alter table [table_name] drop constraint SYS_C0016122;   可行吗???
    在另外一台机器上约束名还是SYS_C0016122???
      

  4.   

    刚接触Oracle不久,希望大家来帮忙!!!!
      

  5.   

    先查询user_contraints得到约束的名称
      

  6.   

    to :drabit(square)表名为test,约束的字段名为name,系统创建的unique约束名为SYS_C0016122;
    我在另外机器上怎样得到那个数据库下test表name字段的unique约束的名称???
      

  7.   

    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'
      

  8.   

    谢谢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;   ???这样还不行。
      

  9.   

    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;