|
|
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток! В скрипте объявил тип record, надергав в него нужных полей из нескольких таблиц. Пример Код: plsql 1. 2. 3. 4. 5. 6. 7. Но захотелось большего - вместо перечисления всех полей главной таблицы (их там много) указать scott.t1%rowtype, а дальше добавить дополнительные поля из других таблиц. Сделал: Пример Код: plsql 1. 2. 3. 4. 5. 6. Но при select t1.*, t2.status_name into v_call from t1 left join t2... получаю ошибку "expression v_call in the INTO list is of wrong type". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 17:54 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzСделалты сделал рекорд рекорда. Все равн потом используешь селект инту, так объяви его курсором и бери рекорд от него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 18:11 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
-2-ты сделал рекорд рекорда. Все равн потом используешь селект инту, так объяви его курсором и бери рекорд от него. Я только в начале пути познания :) Сделал так: как-то Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Ошибка та же: PLS-00597: expression 'r_call' in the INTO list is of wrong type ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 18:41 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
Вот так работает :) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 18:49 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
мои 2 копейки: если в начале пути, то еще есть время поменять привычку именовать переменные с префиксом v_ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 07:09 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzl, какой префикс каноничен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 10:03 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
по области видимости: l_ - local (локальная, внутри блока, процедуры) g_ - global (глобальная в пакете) еще, c_ - constant( константы ) p_ - параметры в процедурах, функциях, методах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 10:21 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlпо области видимостиА по типу данныхъ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 10:25 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzкакой префикс каноничен?В каждом монастыре свой устав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 10:28 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
AmKadА по типу данныхъ? В общем случае, никак. Типов данных может быть очень много. Придумывать каждому префикс, суффикс... Для коллекций можно указать суффикс _tbl или второй префикс _tbl_ например, но в основном стараться писать от бизнес логики/здравого смысла. Если переменная коллекция ордеров, так и называем l_orders. l_orders_tbl, l_tbl_orders в данном случае избыточен. Первый префикс уже дает понять, где искать объявление переменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:01 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlВ общем случае, никак. Типов данных может быть очень много. Придумывать каждому префикс, суффикс... Венгерская нотация . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:32 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
AmKadbrzlпо области видимостиА по типу данныхъ? А зачем? Изнутри - и так перед глазами. Снаружи - перегружать неудобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 11:59 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlпо области видимости: l_ - local (локальная, внутри блока, процедуры) g_ - global (глобальная в пакете) еще, c_ - constant( константы ) p_ - параметры в процедурах, функциях, методах p i o io ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:00 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
Всем благодарочка за науку! Буду дальше двигаться по пути познания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:30 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
XMLerbrzlp_ - параметры в процедурах, функциях, методахp i o ioа как же copy-nocopy. XMLerСнаружи - перегружать неудобно.Работал в конторе, где не только параметрам, но и именам полей писался префикс F<тип>. Причем различались целые-дробные, дата-таймстамп. Чтобы в редакторе не набирать все поле целиком, получив подсказку, нужно заранее знать тип и жмакать лишние клавиши префикса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:31 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlпо области видимости: l_ - local (локальная, внутри блока, процедуры) g_ - global (глобальная в пакете) еще, c_ - constant( константы ) p_ - параметры в процедурах, функциях, методахА что, только переменные. Процедуры-функции и объявления типов тоже могут быть "глобальными" и "локальными". Ну и атрибуты объектных типов по области видимости "глобальные" в динамических методах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 12:41 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
Холивар делать не стоит, как написали выше "...свой устав.." XMLerp i o io Но, не могу себе представить когда бы мне понадобилось знать in или out параметр. io еще может быть полезен снаружи, если не знаешь описание процедуры и читаешь чужой код. На мой взгляд избыточно. И я стараюсь все-таки чтобы функции возвращали значения, out параметры минимизирую. -2-А что, только переменные. Процедуры-функции и объявления типов тоже могут быть "глобальными" и "локальными". Только для переменных и с упором на область видимости. Объявление типа локально и глобально с одним и тем же названием? Ну за это наверное надо "выговор". Процедуры и функции локальные использовать в крайнем, а лучше никогда. Процедуры и функции без префисков, суффиксов. Название должно отражать суть. get_status - функция, возвращающая статус. set_status - процедура, устанавливающая статус. -2-Ну и атрибуты объектных типов по области видимости "глобальные" в динамических методах. Можешь показать пример о чем речь? Ну и в продолжении 2 копеек, руководствоваться не только бизнес логикой/здравым смыслом, но и английским языком. Переменные/столбцы: kredit, gorod и т.д. и т.п ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:10 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlПроцедуры и функции без префисков, суффиксовВ чем отличие функций и переменных в контексте вопроса именования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:17 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlПеременные/столбцы: kredit, gorod и т.д. и т.п * запретить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:20 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
-2-В чем отличие функций и переменных в контексте вопроса именования? Они отражают действие, это действие отражено в их наименовании. Put, get, save Переменные же контейнер для данных с бизнес смыслом. Префикс им нужен (l_,g_), чтобы не путать с полями в таблицах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:29 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzl-2-В чем отличие функций и переменных в контексте вопроса именования? Они отражают действие, это действие отражено в их наименовании. Put, get, save Переменные же контейнер для данных с бизнес смыслом. Префикс им нужен (l_,g_), чтобы не путать с полями в таблицах. Функция это не действие , get_status, из примера, тавтология, status - самое оно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:39 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
brzlОни отражают действие, это действие отражено в их наименовании. Put, get, save save_state это действие статуса или статус действия? brzlчтобы не путать с полями в таблицах.Коллизии имен пакетов-процедур могут быть фатальнее некорректного результата "путать". Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 13:52 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
-2-XMLerпропущено... p i o ioа как же copy-nocopy. А зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 14:19 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
XMLer-2-пропущено...а как же copy-nocopy.А зачем?Параметры nocopy в случае исключения могут вернуть нецелостное состояние. А вообще, это сарказм. Префиксы io_ это уже крайняя степень маразма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 15:33 |
|
||
|
Тип record с дополнительным полем
|
|||
|---|---|---|---|
|
#18+
-2-Префиксы io_ это уже крайняя степень маразма. Аргументируй, пожалуйста. Что плохого в том чтобы обратить внимание разработчика, пишущего вызов процедуры, на то что значение его переменной изменится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=120&tid=1884207]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 372ms |

| 0 / 0 |
