| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > Возвращаемое значение функции |
| Автор: lv151 6.11.2008, 22:24 |
| Пытаюсь сделать что то наподобе return, С-ных функций. Если функция нормально отработала, то return 1; Но в PSQL такой механизм не катит. Создал дополнительный вых. параметр,не то... Думаю применить серверные исключения, может есть другой способ имитаци return? |
| Автор: Deniz 7.11.2008, 06:28 | ||
| lv151, где это все происходит? Клиент или сервер? В FireBird есть suspend.
|
| Автор: Deniz 7.11.2008, 12:26 |
| lv151, тогда опиши, что ты хочешь получить, и определись с терминологией, в FireBird функция и процедура совсем разные вещи, тебе что надо? |
| Автор: lv151 7.11.2008, 21:37 | ||||
| процедура, которая возвращает данные(обычный select запрос в виде процедуры), но с возможностью вроде return. функция не подходит. В TSQL для передачи из процедуры значения возвращаемому коду можно использовать return без объявления переменных OUTPUT. B. Return status codes This example checks the state for the specified author's ID. If the state is California (CA), a status of 1 is returned. Otherwise, 2 is returned for any other condition (a value other than CA for state or an au_id that did not match a row).
|
| Автор: Akella 7.11.2008, 22:06 |
| lv151, Deniz дал пример кода тебе. в Firebird объявлять выходные параметры нужно, чтобы узнать результаты работы процедуры. Нет никаких выходных параметров в процедурах. Зато в процедурах жарптички с помощью suspend`ов такие чудеса можно творить! |
| Автор: lv151 7.11.2008, 22:57 | ||
Как? |
| Автор: Akella 8.11.2008, 00:55 | ||||||
| чудеса творить? Добавлено через 1 минуту и 21 секунду Вот так:
Добавлено через 4 минуты и 16 секунд результат получается такой:
Добавлено через 6 минут и 41 секунду или такой:
Добавлено через 12 минут и 42 секунды или вот такой: http://ipicture.ru/Gallery/Viewfull/8878031.html ну типа каталоги разные, вот например: etalon-jenavi.ms |
| Автор: lv151 8.11.2008, 13:23 |
| не то... У меня получалось так Result Данные для выборки NULL Данные NULL Данные NULL Данные NULL Данные 10 Данные т.е. для того чтобы получить результат нужно перейти на самую последнюю запись, а это не есть гуд. p.s. а зачем ты инициализируешь выходные праметры null-ами, они же по-умолчанию null? Так, для общего развития интересно. |
| Автор: Akella 9.11.2008, 19:02 | ||
Пример. Буратино дали 3 яблока. 1 яблоко он съел. Сколько осталось яблок. Логично было бы ответить 2. А вот фигушки. Никто не знает, сколько яблок было у Буратино до этого. Добавлено через 1 минуту и 53 секунды
бред какой-то Добавлено через 2 минуты и 18 секунд СМОТРЯ ЧТО ТЫ ХОЧЕШЬ ПОЛУЧИТЬ |
| Автор: lv151 12.11.2008, 22:09 |
| Спасибо всем за помощь! |