是否可以从 PL/SQL 块向 table 添加主键?

Is it possible to add a primary key to a table from a PL/SQL block?

我正在做一个练习,我突然想到这个问题 pl/SQL 中是否有一个特定的函数可以在现有的 table 中添加主键约束或任何类型的约束?

可能吗?是的,动态 SQL.

SQL> create table test (id number);

Table created.

SQL> begin
  2    execute immediate 'alter table test add constraint pk_test primary key (id)';
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> select constraint_name from user_constraints
  2  where table_name = 'TEST';

CONSTRAINT_NAME
------------------------------
PK_TEST

SQL>