在 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;