2013-10-24 9 views
2

Есть ли способ, в 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.

идеи?

+0

Создает 'view' недостаточно? –

+0

cant .. будет иметь два объекта с тем же именем. также, из-за других ограничений, я не мог переименовать «оригинал» – filippo

+0

Не, если в другой схеме –

ответ

3

Вы можете создать 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

Смежные вопросы