gpt4 book ai didi

Oracle:如何使用 DBMS_REDEFINITION 包对列重新排序?

转载 作者:行者123 更新时间:2023-12-01 14:38:39 25 4
gpt4 key购买 nike

我需要使用 DBMS_REDEFINITION 对表中的某些列重新排序包裹。我如何为表格执行此操作,例如

create table a (z number, x number);

这样重新排序的表的第一列是 x?

(上下文:我正在编写一些实用程序,将一些元数据列添加到一些现有的表中,如果元数据列位于前面,那么当在 sql 中提取它们时可以方便地查看它们,这对所有相关人员都有用开发人员或其他表格浏览工具。我知道逻辑处理列顺序无关紧要的论点,但这是为了使用现成的工具使表格更容易理解。)

最佳答案

不确定您的问题是什么,因为手册中解释了用法。

但由于您的表似乎没有主键(或者您忘记提及),您需要使用一个特殊的标志以便能够使用 dbms_redefinition 重新定义它:

create table a_ (x number, z number);

begin
dbms_redefinition.start_redef_table(
uname => user,
orig_table => 'A',
int_table => 'A_',
options_flag => dbms_redefinition.cons_use_rowid);

dbms_redefinition.finish_redef_table(
uname => user,
orig_table => 'A',
int_table => 'A_');
end;
/

drop table a_;

关于Oracle:如何使用 DBMS_REDEFINITION 包对列重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com