수색…


Oracle에서 외래 키를 새로운 값으로 업데이트하십시오.

테이블이 있고이 테이블의 기본 ID 중 하나를 변경하려고한다고 가정합니다. 당신은 다음 scrpit을 사용할 수 있습니다. 기본 ID는 "PK_S"입니다.

begin
  for i in (select a.table_name, c.column_name
              from user_constraints a, user_cons_columns c
             where a.CONSTRAINT_TYPE = 'R'
               and a.R_CONSTRAINT_NAME = 'PK_S'
               and c.constraint_name = a.constraint_name) loop
  
                     
         execute immediate 'update ' || i.table_name || ' set ' || i.column_name ||
                      '=to_number(''1000'' || ' ||  i.column_name || ') ';              
                    
                     
 
  end loop;

end;

Oracle의 관련된 모든 외래 키 사용 안 함

테이블 T1이 있고 많은 테이블과의 관계가 있고 기본 키 제약 조건 이름이 "pk_t1"이라고 가정하면 사용할 수있는 이러한 외래 키를 비활성화 할 수 있습니다.

Begin
    For I in (select table_name, constraint_name from user_constraint t where   r_constraint_name='pk_t1') loop

Execute immediate ' alter table ' || I.table_name || ' disable constraint ' || i.constraint_name;

   End loop;
End;


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow