Используя Oracle 10g, мне нужно переименовать группу ограничений FK, которые заканчиваются на LITE, чтобы включить префикс FK .
Я подумал (я убедился, что все имена достаточно короткие, чтобы вместить префикс):
DECLARE
v_name VARCHAR2(30 BYTE);
v_new_name VARCHAR2(30 BYTE);
CURSOR c1 is select CONSTRAINT name from user_constraints where constraint_type = 'R' and constraint_name like '%_LITE';
BEGIN
OPEN c1;
LOOP
FETCH c1 into v_name;
EXIT when c1%NOTFOUND;
v_new_name:= 'FK_' || v_name;
update user_constraints SET constraint_name = v_new_name where constraint_name = v_name;
END LOOP;
close c1;
END;
Любая причина, по которой это было бы небезопасно, и мне вместо этого нужно было бы создавать операторы alter table?