powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Объявление sub-функции, НЕ имеющей параметров: допускаются ли скобки после её имени ?
4 сообщений из 4, страница 1 из 1
Объявление sub-функции, НЕ имеющей параметров: допускаются ли скобки после её имени ?
    #38680900
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Вот такой скриптик:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
set term ^;
create or alter procedure P1
AS
declare function f1 ()  returns int deterministic as
    begin
        return 1;
    end
begin
end^
set term ;^
commit;
- прокатывает "на ура", т.е. в итоге будет создана и ХП и функция внутри неё.
Однако, эту ХП нельзя отладить в ИБЭ - говорит что 'Parsing error'.

В 3.0 Release Notes приведена нотация (стр. 68), из которой следует, что скобки надо ставить при наличии хотя бы одного аргумента:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 Syntax for Declaring a Sub-procedure 
  DECLARE PROCEDURE <name>  [  (  param1  [, ...] )  ] 
  [RETURNS (param1 [, ...])]
  AS
  ...
      
 Syntax for declaring a Sub-function 
  DECLARE FUNCTION <name>  [  (  param1  [, ...] )  ] 
  RETURNS <type>
  AS
  ...

Тогда почему компилится вышеприведенный пример ?
...
Рейтинг: 0 / 0
Объявление sub-функции, НЕ имеющей параметров: допускаются ли скобки после её имени ?
    #38680951
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

это кто как понимает. На самом деле объявление функции со скобочками даже при отсутствии аргументов мне как то ближе, тем более что без скобок её не вызовешь. Хотя могут быть и другие мнения

ТаблоидОднако, эту ХП нельзя отладить в ИБЭ - говорит что 'Parsing error'.
это косяк IBE
...
Рейтинг: 0 / 0
Объявление sub-функции, НЕ имеющей параметров: допускаются ли скобки после её имени ?
    #38680982
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно вложенная функция объявленная как deterministic на самом деле такая? И как долго она сохраняет свой детерминизм до окончания работы внешней процедуры/функции или пожизненно, т.е. при следующем вызове внешней процедуры значение объявленной внутри детерминистической функции пересчитываться не будет?
...
Рейтинг: 0 / 0
Объявление sub-функции, НЕ имеющей параметров: допускаются ли скобки после её имени ?
    #38680985
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисинтересно вложенная функция объявленная как deterministic на самом деле такая? И как долго она сохраняет свой детерминизм до окончания работы внешней процедуры/функции или пожизненно, т.е. при следующем вызове внешней процедуры значение объявленной внутри детерминистической функции пересчитываться не будет? тынц
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Объявление sub-функции, НЕ имеющей параметров: допускаются ли скобки после её имени ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]