Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
7-36881
eRat
2003-10-08 10:49
2003.12.12
блокирование рабочей станции под NT/XP


3-36556
Степан
2003-11-20 19:24
2003.12.12
ADO, пустая таблица


8-36769
GreySerg
2003-08-15 13:06
2003.12.12
Компоненты для работы с Mp3


1-36685
akuman
2003-12-02 18:02
2003.12.12
Связь IDispatch с TWordApplication


3-36559
IGORYOK
2003-11-20 12:49
2003.12.12
Чтобы работала на всех виндах





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский