|
|
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Можно ли как-нибудь вызывать процедуры и получать результаты из SQL, а не PL/SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 11:08 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Получать результаты чего ? Работы процедуры? Вообще-то, результаты возвращает функция, а ее в SQL использовать очень просто - select Имя_функции(параметры) from dual Вот, взял из книги "Программирование на языке PL/SQL" - Вызов процедуры сам по себе является оператором PL/SQL, в то время как вызов функции - это часть некоторого выражения. Вызов функции является значением выражения (rvalue). Или ты что-то другое хотел спросить? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 11:20 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
..можно. советую сначала немного почитать доки, а потом конкретизизировать свой вопрос, а то страшные DBA на вас обидяться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 11:21 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Из функции-то можно получить результат, но он будет представлять всего одно значение, а хотелось бы, как, например, в процедуре, вернуть несколько ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 11:27 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
А тебе это для чего нужно? Почитай про "SELECT из хранимой процедуры" - http://ln.com.ua/~openxs/projects/oracle/ora011.html Мобыть это тебя спасет :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 11:45 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Статью эту уже читал. Но там решение получения одного столбца таблицы в SQL-запроса, а как получить несколько таких столбцов? Вот в чем вопрос! Нужно это для того, что бы со стороны клиентского приложения (Delphi6) можно было использовать не простые SQL-ки (слишком просто), а результат выполнения процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 11:50 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
делай не хранимую проседуру begin мояпроцедура(:par1,:par2,....); end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 12:29 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Ну а в чем проблема переделать тот пример, который приведен в статье ? Вот смотри: Объявляем объектный тип TYPE TMP_REPORTS_TYPE as object ( ID NUMBER, DOC_TYPE VARCHAR2 (500), CODE VARCHAR2 (100), NAME VARCHAR2 (500), Q1 NUMBER, Q2 NUMBER); Затем объявляем вложенную таблицу TYPE VT_TMP_REPORTS as table of TMP_REPORTS_TYPE; А дальше как в примере FUNCTION GET_REPORT(Тут_всякие_параметры ) return VT_TMP_REPORTS AS l_data VT_TMP_REPORTS:=VT_TMP_REPORTS( TMP_REPORTS_TYPE(null,'','','',null,null)); begin В цикле заполним l_data(l_data.count) l_data.extend(1,1); l_data.trim; return l_data; end; Вот примерно так и работает всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 12:33 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Спасибо. Я уже думал о объектах, но еще не проверял это. Интересно, все так и работают или я тут какой-то велосипед придумываю??? Может все это надо делать как-то по другому? Необходимость использования ХП пришла из Interbase, с которого перегоняем сейчас БД и в котором их использование в SQL практически ничем не ограничено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 13:09 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
..лично мне обьекты нравяться. Но если делать хранимые таблицы на них и при попытке модифицировать исходный тип-обьект, то возникают весьма дополнительные телодвижения. -- Я не прав? Поправьте.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 13:15 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
С объектами все получилось. Спасибо всем, кто принимал участие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2003, 17:19 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
А чем не нравится в процедуре писать данные во временную таблицу, а результатом возращать строку запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2003, 00:09 |
|
||
|
SQL и Процедуры
|
|||
|---|---|---|---|
|
#18+
Господин vskv, в Вашем ответе чувствуется очень мощное давление идей месье SAA. Хотя может и наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2003, 11:57 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32101421&tid=1991868]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 473ms |

| 0 / 0 |
