powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / переименование полей views
4 сообщений из 4, страница 1 из 1
переименование полей views
    #39382447
rename_column_view
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста,
откуда достать признак того, что колонки были переименованы в VIEWS?


Пример:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
create or replace view test
  (num, sdate)
as
  select 
    1,
    sysdate
  from dual
;



Необходимо для "автоматического" сбора DDL.
...
Рейтинг: 0 / 0
переименование полей views
    #39382478
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) список колонок в USER_TAB_COLUMNS
2) изначальный текст вьюшки, без учета колонок выше - в USER_VIEW

берешь текст из 2), в простейшем виде создаешь новую вьюшку с временным именем, и сравниваешь результаты из 1)

без создания временной вью - отправляешь текст на парсинг в запускалку, она выдаст названия колонок на выходе (не уверен, что DBMS_SQL способен на такое, лень читать доку).
...
Рейтинг: 0 / 0
переименование полей views
    #39382491
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatchDBMS_SQL способен на такое, лень читать доку).

способен, см процедуру DBMS_SQL.DESCRIBE_COLUMNS

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_sql.htm#ARPLS68259
...
Рейтинг: 0 / 0
переименование полей views
    #39382529
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rename_column_view,

DBMS_UTILITY.EXPAND_SQL_TEXT + DBMS_METADATA_UTIL.PARSE_QUERY и парсить до посинения
В общем случае - вопрос не имеет однозначного ответа
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select 
case when mod(sys_context('userenv','instance'),2)=1 then r
  else n
end as "ROWNUM",
case when mod(sys_context('userenv','instance'),2)=1 then a
  else dummy
  end "DUMMY"
from (
  select rownum r, dummy a from dual
  union all 
  select rownum + 1  r, dummy from dual) x,
(
  select rownum n, dummy  from dual
  union all 
  select rownum + 1  n, dummy a from dual) y




Regards
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / переименование полей views
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]