Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / переименование полей views / 4 сообщений из 4, страница 1 из 1
11.01.2017, 16:27
    #39382447
rename_column_view
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименование полей views
Подскажите, пожалуйста,
откуда достать признак того, что колонки были переименованы в 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
11.01.2017, 16:53
    #39382478
dbpatch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименование полей views
1) список колонок в USER_TAB_COLUMNS
2) изначальный текст вьюшки, без учета колонок выше - в USER_VIEW

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

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

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

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_sql.htm#ARPLS68259
...
Рейтинг: 0 / 0
11.01.2017, 17:29
    #39382529
Maxim Demenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переименование полей views
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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / переименование полей views / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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