gpt4 book ai didi

sql - 表声明上的列别名

转载 作者:行者123 更新时间:2023-12-04 04:37:01 26 4
gpt4 key购买 nike

有没有办法在 Oracle 11gR2 中创建具有两个名称的单个列?

我需要它的原因是向后兼容性,在这种情况下可以工作:

create table test1 (col1 varchar2(10), col2 [some ref to col1]);

insert into test1 values ('test_value');

然后
SQL> select col1 from test1;
test_value

SQL> select col2 from test1;
test_value

SQL Server好像有什么办法,我正在寻找与它等效的 Oracle。

想法?

最佳答案

您可以创建一个 VIRTUAL COLUMN :

CREATE TABLE test1 (
col1 VARCHAR2(10),
col2 VARCHAR2(10) GENERATED ALWAYS AS (col1 || '')
);

INSERT INTO test1 (col1) VALUES ('test_value');
COMMIT;

SELECT * FROM test1;

COL1 COL2
---------- ----------
test_value test_value

但是,DML 不能操作虚拟列。在此处阅读更多信息: Oracle Base - Virtual Columns

关于sql - 表声明上的列别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19576066/

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