oracle 데이터베이스의 모든 테이블에서 특정 패턴과 일치하는 열을 업데이트해야합니다. 테이블 마녀를 마스터 할 수있는 외래 키 기본 키의 CID를oracle 데이터베이스의 모든 테이블에서 특정 패턴과 일치하는 열 업데이트
감사
oracle 데이터베이스의 모든 테이블에서 특정 패턴과 일치하는 열을 업데이트해야합니다. 테이블 마녀를 마스터 할 수있는 외래 키 기본 키의 CID를oracle 데이터베이스의 모든 테이블에서 특정 패턴과 일치하는 열 업데이트
감사
당신은 명명 규칙 및 쿼리 all_tab_columns
declare
cursor c is
select table_owner , column_name, table_name from all_tab_columns where column_name like '%_CID';
begin
for x in c loop
execute immediate 'update ' || x.table_owner || '.' || x.table_name ||' set ' || x.column_name||' = 0';
end loop;
end;
을 사용할 수있다하여 예를 들어 나는 _CID * 모든 테이블이 열이
유효한 Fk가있는 경우 all_tab_constraints
을 사용하여 기본 테이블에 Fetch을 사용하도록 설정하고 r_constraint_name
의 열 이름을 가져올 수 있습니다.
는 내 질문에 해결책을 발견
BEGIN
FOR x IN (SELECT owner, table_name, column_name FROM all_tab_columns) LOOP
EXECUTE IMMEDIATE 'update ' || x.owner || '.' || x.table_name ||' set ' || x.column_name||' = 0 where '||x.column_name||' = 1';
END LOOP;
END;
감사
문제는 내가이 요청을 실행할 때 유효한 FK의 여부를 – einstein007
내가 오류가있는 경우 나도 몰라입니다! – einstein007