Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Хранимые процедуры   Найти похожие ветки 

 
Talla2k ©   (2003-11-18 16:27) [0]

А можно ли в хранимой процедере вызвать еще одну хранимую процедуру???

Для ОБРАЗЦА(упроченная)
set term ^;
create procedure nozero(pl char(5),nu char(8))
returns (num1 char(8))
as
begin
select num1 from get_num(:pl,:nu);
end^
set term;^

Где get_num также хранимая процедура

Вроде правильно создал,а всегда получаю
Dynamic SQL Error
SQL error code = -104
Token unknown - line 5, char 32
;


 
stud ©   (2003-11-18 16:29) [1]

можно
select num1 from get_num(:pl,:nu) into ...;


 
Talla2k ©   (2003-11-18 23:32) [2]

Ну да именно так и было!!!Это ж я так для примера!!!
Самое главное ЭТО МОЖНО ЛИ ИЗ ХРАНИМОЙ ВЫЗВАТЬ ХРАНИМУЮ???


 
Rad ©   (2003-11-19 05:51) [3]

Да, можно. И незачем так кричать :)
RTFM INTO


 
stud ©   (2003-11-19 09:26) [4]

внимательней читать нужно))))


 
aVast ©   (2003-11-19 11:31) [5]

ваабще для вызова процедур используется
EXECUTE PROCEDURE [TRANSACTION transaction]
name [:param [[INDICATOR]:indicator]]
[, :param [[INDICATOR]:indicator] …]
[RETURNING_VALUES :param [[INDICATOR]:indicator]
[, :param [[INDICATOR]:indicator] …]];

DSQL form:

EXECUTE PROCEDURE name [param [, param …]]
[RETURNING_VALUES param [, param …]]

пример:

EXECUTE PROCEDURE DEPT_BUDGET 100 RETURNING_VALUES :sumb;

EXECUTE PROCEDURE DEPT_BUDGET :rdno RETURNING_VALUES :sumb;


 
aVast ©   (2003-11-19 11:35) [6]

то есть в твоем случае:
set term ^;
create procedure nozero(pl char(5),nu char(8))
returns (num1 char(8))
as
begin
execute procedure get_num(:pl,:nu)
returning_values (:num1);
end^
set term;^


 
Zacho ©   (2003-11-19 11:40) [7]


> aVast © (19.11.03 11:31) [5]

Это для случая, когда процедура возвращает только одну запись или не возвращает ничего вообще.
P.S. А зачем привел SQL form и примеры для Embedded SQL ? Вряд ли автор вопроса использует gpre


 
aVast ©   (2003-11-21 10:19) [8]

to Zacho © (19.11.03 11:40)
>Это для случая, когда процедура возвращает только одну запись или не возвращает ничего вообще.

процедура не может возвращать записи :)
а для случаев, когда процедура возвращает насколько значений синтаксис сооответственно:
execute procedure get_num(:pl,:nu)
returning_values (:num1, :num2, :num3);


 
Johnmen ©   (2003-11-21 10:25) [9]

>aVast © (21.11.03 10:19)
>процедура не может возвращать записи :)

Да ну ?
:)


 
aVast ©   (2003-11-21 10:31) [10]

to Johnmen © (21.11.03 10:25)
ну да


 
Zacho ©   (2003-11-21 10:31) [11]


> aVast © (21.11.03 10:19) [8]
>
> процедура не может возвращать записи :)

А я и не знал. Наверное, поэтому у меня процедуры прекрасно возвращают наборы данных. :-)
RTFM suspend, for select, select и т.п.


 
stud ©   (2003-11-21 10:32) [12]


select sum(gnr) from isp_report(0,:KOD_VR,:D1,:D2) into :sum_gnr;


> aVast © (21.11.03 10:19) [8]

вот реальный пример, который нормально у меня работает


 
Johnmen ©   (2003-11-21 10:33) [13]

И у меня глюк. И у меня возвращают...:)


 
aVast ©   (2003-11-21 10:45) [14]

народ у вас проблема с терминалогией. то что вам возвращается это не записи, это значения переменных, полученные процедурой.


 
Johnmen ©   (2003-11-21 10:53) [15]

>aVast © (21.11.03 10:45)

А что такое запись ? И что такое набор данных ?
В твоем понимании.


 
aVast ©   (2003-11-21 11:06) [16]

Запись - это набор полей, относящихся к одному объекту, например, записью может быть совокупность имени и номера телефона.
Набор данных - это некоторый набор записей, выбранных из базы по какому-то признаку.


 
Johnmen ©   (2003-11-21 11:15) [17]

>например, записью может быть совокупность имени и номера телефона.

То есть, если процедура возвращает совокупность двух значений, имя и номер телефона, то это запись.
Если процедура возвратит набор таких совокупностей, то значит возвращен НД.



Страницы: 1 вся ветка

Текущий архив: 2003.12.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
3-36525
Лена
2003-11-21 12:43
2003.12.12
Как создать одновременно несколько таблиц в sql


1-36672
A JI E LLI A
2003-11-30 12:06
2003.12.12
Не работают такие функции, как Power, LogN и др.


4-36900
destroer
2003-10-16 14:25
2003.12.12
Сбор данных о компьютере


14-36837
eukar
2003-11-19 16:24
2003.12.12
DVD/CD-RW vs DVD + CD/RW


14-36833
Thor
2003-11-19 16:31
2003.12.12
игра MAX от Interplay