|
|
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
Добрый день! Не могли бы вы подсказать мне наиболее быстрый способ добавить хранимую процедуру на сервер? Нужна простая процедура, которая будет на вход принимать 5 параметров, а на выход отдавать два. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2005, 20:25 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
RTFM "Informix SQL Syntax"&"Informix SQL Reference" на предмет "create procedure". В итоге получим текст типа: CREATE PROCEDURE "informix".test( a1 CHAR(12), a2 CHAR(10), a3 INTEGER, a4 DECIMAL(20,2), a5 DECIMAL(20,2) ) RETURNING SMALLINT; RETURN 0; END PROCEDURE Далее выполнить полученный SQL либо через dbaccess либо с помощью любого клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2005, 20:31 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ! А как же быть с этим: You must first decide if the routine you are creating returns values or not. If the routine does not return values, you create an SPL procedure. To create an SPL procedure, you use the CREATE PROCEDURE statement. If the routine returns a value, you create an SPL function. To create an SPL function, you use the CREATE FUNCTION statement. Тоесть, получается, что процедуры не возвращают значений? А мне нужно возвращать два varchar(255). Следовательно мне лучше использовать функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2005, 20:43 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
FUNCTION это таже PROCEDURE, до 9-ки понятия FUNCTION вообще не было. Единственное отличие - FUNCTION ОБЯЗАНА возвращать значение, процедура может этого и не делать. Два значения как RETURNIG возвратить нельзя. Вместо этого можно использовать несколько путей: А. Описать свой комплексный тип, состоящий из этих двух параметров и возвращать его. Б. Возвращать данные через temp table. В. Возвращать через RETURN ... WITH RESUME (если параметры однотипные). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2005, 22:49 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
DaugavaДва значения как RETURNIG возвратить нельзя. Я что-то не так понял? create procedure __temp ( _id int ) returning int, varchar(255), float, date return 1, 'blah-blah-blah', 1.33, date(current); end procedure; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2005, 12:26 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
Вдогонку. IBM Informix Dynamic Server Version 9.40.UC4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2005, 12:31 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
Сорри, с прямым углом перепутал :-). multiple return думаю был доступен еще в 5-ке, а может и раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2005, 13:15 |
|
||
|
Хранимые процедуры в Informix
|
|||
|---|---|---|---|
|
#18+
Guide to SQL: Syntax, Versions 10.0 and 8.5 (G251-2284-01)How many values a function can return is language-dependent. Functions written in SPL can return one or more values. External functions written in the C or Java languages must return exactly one value. But a C function can return a collection type, and external functions in queries can return additional values indirectly from OUT parameters (and for the Java language, from INOUT parameters) that Dynamic Server can process as statement-local variables (SVLs). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2005, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=44&fpage=58&tid=1608989]: |
0ms |
get settings: |
7ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 336ms |

| 0 / 0 |
