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