Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
Доброго времени суток.
5 май 12, 11:13    [12512196]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
Случайно запостил.

Вот вопрос в чем: необходимо найти все (ну или большинство объектов), которые так или иначе используют поле X из таблицы Y.

Просто необходимо увеличить размерность поля (varchar2(40)->varchar2(100)).

Я понимаю что ничего стандартного скорее всего нет, просто может кто писал что-то подобное или хоть пытался?

Буду признателен за помощь.
5 май 12, 11:17    [12512235]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
... и еще

поле X может быть ипользовано во view там может быть алиас на это поле )) , эти вью могут быть использованы .....
5 май 12, 11:18    [12512253]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
NisSam
Member

Откуда:
Сообщений: 65
Zepp,

dba_dependencies
5 май 12, 11:21    [12512285]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
NisSam,

не... так это первое что посмотрел )

я там например вижу, что в PAK используется таблица Y, но не вижу, используется ли поле X этой таблицы))
5 май 12, 11:31    [12512363]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2855
Zepp,

dba_constraints
dba_source
а вьюхи зачем искать?
5 май 12, 11:33    [12512390]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
AlexFF__|,

вьюхи нужны в том в такой ситуации
5 май 12, 11:35    [12512406]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
AlexFF__|,

сори...

вьхи нужны в случае если

есть вью

create view view_name as select X xxxx from Y, т.е. поле Х уже будет иметь имя xxxx

и есть пакет PAK? в котором:

......
declare
vVALUE varchar2(40);
begin
select xxxx
into vVALUE
from view_name;
.....

В этом случае ловим еррор
5 май 12, 11:39    [12512451]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Константин Короповский
Member

Откуда:
Сообщений: 114
А приложение, которое пользует базу в курсе такой замены? :)

Варианта просмотреть исходники БД в subversion нету?
5 май 12, 12:01    [12512631]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Edward Shevtsov
Member

Откуда: Moscow
Сообщений: 13469
Zepp,

в хранимом коде нужно объявлять переменные через квалификатор %TYPE, тогда проблем не будет.
5 май 12, 12:16    [12512744]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
Константин Короповский
А приложение, которое пользует базу в курсе такой замены? :)

Варианта просмотреть исходники БД в subversion нету?


приложения , а их не 1 и не 2, тоже править будем
5 май 12, 12:18    [12512762]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
Edward Shevtsov
Zepp,

в хранимом коде нужно объявлять переменные через квалификатор %TYPE, тогда проблем не будет.


работает не 1 программист, и каждый пишет как хочет (
5 май 12, 12:19    [12512768]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Константин Короповский
Member

Откуда:
Сообщений: 114
Zepp,

сейчас тебе напишут что надо гнать таких программистов ссаными тряпками...

Edward Shevtsov,
Вопрос немного в оффтоп. Мне надо объявить тип для выходного значения функции.
Пусть функция будет простая и возвращаться контактенацию 3х varchar2 полей БД.
соотв. размерность выходного значения будет определяться как сумма длин этих полей. и как тут использовать эти %Type ?

+ пример функции
FUNCTION Address(v_sity as sity.sity_name%type, v_street as Street.street_name%TYPE, v_house as house.house_name%TYPE)
RETURN VARCHAR2(4000) /*=-) WHAT IS RIGHT TYPE FOR IT?*/
IS
BEGIN
RETURN v_sity||', '||v_street||', '||v_house;
END;
/
5 май 12, 12:31    [12512869]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
NisSam
Member

Откуда:
Сообщений: 65
Константин Короповский
Вопрос немного в оффтоп. Мне надо объявить тип для выходного значения функции.
Пусть функция будет простая и возвращаться контактенацию 3х varchar2 полей БД.
соотв. размерность выходного значения будет определяться как сумма длин этих полей. и как тут использовать эти %Type ?


Ну в этом случае создается отдельный пакет который определяет типы и в частности тип Address_Type как VARCHAR2(4000), а дальше уже ссылаемся только на этот тип. При любых изменениях достаточно поменять Address_Type и все перекомпилить.

Но это совет на будущее.
5 май 12, 12:40    [12512935]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18371
Константин Короповский
Пусть функция будет простая и возвращаться контактенацию 3х varchar2 полей БД.
соотв. размерность выходного значения будет определяться как сумма длин этих полей. и как тут использовать эти %Type ?

А как планируется использовать этот результат?
Если, к примеру, сохранить - то ответ как бы очевиден :)
Если использовать в другой функции - то можно либо определить тип в пакете или сказать.
А если выбросить на помойку - то по барабану как определять.

NisSam
При любых изменениях достаточно поменять Address_Type и все перекомпилить.

Вот прям таки и достаточно? :)
5 май 12, 13:05    [12513112]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Edward Shevtsov
Member

Откуда: Moscow
Сообщений: 13469
Константин Короповский
Пусть функция будет простая и возвращаться контактенацию 3х varchar2 полей БД.
соотв. размерность выходного значения будет определяться как сумма длин этих полей. и как тут использовать эти %Type ?

функция не может устанавливать размерность типа возвращаемого значения.
5 май 12, 13:08    [12513145]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Zepp
Member

Откуда:
Сообщений: 255
люди-человеки ))) может есть че по теме?
5 май 12, 13:12    [12513169]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Константин Короповский
Member

Откуда:
Сообщений: 114
Edward Shevtsov,

чорд =-) раскусил.
пример с функцией был не удачен...
В общем то больше интересовала тема поиска, хотел показать что нельзя просто полагаться на определение через %TYPE или типы в пакетах... в любом случае необходимо анализировать исходники.

Zepp,

по теме вроде все сказали выше... других способов я не знаю.
5 май 12, 13:18    [12513213]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18371
Edward Shevtsov
функция не может устанавливать размерность типа возвращаемого значения.

Зато можно декларировать размерность для возвращаемой переменной ;)
5 май 12, 13:35    [12513353]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Zepp
Edward Shevtsov
Zepp,

в хранимом коде нужно объявлять переменные через квалификатор %TYPE, тогда проблем не будет.


работает не 1 программист, и каждый пишет как хочет (

ну вот и повод проверить кто как именно пишет и попробовать таки навести порядок.
5 май 12, 13:38    [12513376]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
а по теме - переименуйте тот столбец и весь зависимый статический код сразу инвалиднётся
5 май 12, 13:41    [12513397]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
-2-
Member

Откуда:
Сообщений: 15330
Edward Shevtsov
функция не может устанавливать размерность типа возвращаемого значения.
устанавливать может, обеспичивать нет.
5 май 12, 13:58    [12513506]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
Константин Короповский
Member

Откуда:
Сообщений: 114
orawish
а по теме - переименуйте тот столбец и весь зависимый статический код сразу инвалиднётся


эта 5 ! =-)
5 май 12, 14:32    [12513779]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1296
orawish
а по теме - переименуйте тот столбец и весь зависимый статический код сразу инвалиднётся
Статический инвалиднется сразу, а стрелять еще будет долго. Под Новый Год например...
5 май 12, 15:40    [12514284]     Ответить | Цитировать Сообщить модератору
 Re: Собрать информацию об использовании поля  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
wildwind
orawish
а по теме - переименуйте тот столбец и весь зависимый статический код сразу инвалиднётся
Статический инвалиднется сразу, а стрелять еще будет долго. Под Новый Год например...

стрельнуть может, но вероятность этого меньше, чем в случае поиска зависимостей глазами.
на всякий случай:
1. я не предлагал изгаляться на продуктиве
2. после завершения изысканий, естественно, ренейм того столбца взад
5 май 12, 18:47    [12515172]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить