首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将列添加到表中并将其显示为第一列

问如何将列添加到表中并将其显示为第一列
EN

Stack Overflow用户
提问于 2019-05-03 05:17:16
回答 2查看 32关注 0票数 0

我有包含2列ENM和EADD的表EMP。现在,我需要添加一个列EMPID,但我希望它像EMPID, ENM, EADD一样显示为表中的第一列。

EN

回答 2

Stack Overflow用户

发布于 2019-05-03 06:37:29

演示:

代码语言:javascript
复制
create table emp
( enm  varchar2(20)
, eadd varchar2(100) );

alter table emp add empid number not null;

对emp的描述提供了:

代码语言:javascript
复制
Name                            Null?    Type
------------------------------- -------- ----------------------------
ENM                                      VARCHAR2(20)
EADD                                     VARCHAR2(100)
EMPID                           NOT NULL NUMBER

使除empid之外的所有列不可见并再次可见:

代码语言:javascript
复制
begin
    for r in (
        select column_name
        from   user_tab_columns c
        where  c.table_name = 'EMP'
        and    c.column_name <> 'EMPID'
    )
    loop
        execute immediate 'alter table emp modify '||r.column_name||' invisible';
        execute immediate 'alter table emp modify '||r.column_name||' visible';
    end loop;
end;
/

现在你有了这个:

代码语言:javascript
复制
Name                            Null?    Type
------------------------------- -------- ----------------------------
EMPID                           NOT NULL NUMBER
ENM                                      VARCHAR2(20)
EADD                                     VARCHAR2(100)
票数 1
EN

Stack Overflow用户

发布于 2019-05-04 06:31:15

正如William Robertson所建议的,使用不可见和可见可以用来对列进行重新排序。但是,如果您的表有许多字段,这种方法可能会令人讨厌,特别是如果您在开发过程中多次重新排序。

总是有一种行之有效的方法,即删除表并按所需顺序重新创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55960368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档