我发现的唯一一件事是一次重命名一列:
ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;
我阅读了 Oracle 文档,但一次无法获得许多列的答案。
参考:https ://docs.oracle.com/javadb/10.6.2.1/ref/rrefsqljrenamecolumnstatement.html
我发现的唯一一件事是一次重命名一列:
ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;
我阅读了 Oracle 文档,但一次无法获得许多列的答案。
参考:https ://docs.oracle.com/javadb/10.6.2.1/ref/rrefsqljrenamecolumnstatement.html
从 Oracle 18c 开始,无法在单个命令中重命名多个表列。
Oracle 18c SQL 语言参考包括下图来说明命令RENAME_COLUMN_CLAUSE的工作原理。ALTER TABLE不幸的是,除了重命名之外,几乎每个列属性都可以分组修改。
您可以将user_tab_columns字典视图用作循环语句的游标内的数据源
declare
v_table_name varchar2(40):='mytable';
begin
for c in ( select from user_tab_columns where table_name = upper(v_table_name) )
loop
execute immediate ('ALTER TABLE '||c.table_name||' RENAME COLUMN '||c.column_name
||' TO new_'||c.column_name);
end loop;
end;