Sve*_*sli 2 sql oracle constraints
我需要重命名 Oracle 数据库中的约束,但在设计时我不知道旧名称。
我想做的是:
declare
vOldName string;
begin
select CONSTRAINT_NAME
into vOldName
from user_constraints
where TABLE_NAME='AGREEMENT' and CONSTRAINT_TYPE='R';
alter table Agreement rename constraint vOldName to AGREEMENT_FK1;
end;
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息“PLS-00103:在预期以下情况之一时遇到符号“ALTER”:开始案例“。
我该如何解决这个问题?
使用动态 PL/SQL:
declare
vOldName user_constraints.constraint_name%TYPE;
begin
select CONSTRAINT_NAME
into vOldName
from user_constraints
where TABLE_NAME='AGREEMENT' and CONSTRAINT_TYPE='R';
execute immediate 'alter table Agreement rename constraint '
|| vOldName || ' to AGREEMENT_FK1';
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |