powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / конструкция if -begin end else
4 сообщений из 4, страница 1 из 1
конструкция if -begin end else
    #40076508
WНаталья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну могу понять, как закрыть правильно цикл if-else, если внутри есть еще операторы .

Не компилируется, получаю ошибку Encountered the symbol ';' when expectiong one of the following

На лишние begin и end c одним оператором не смотрите, там будут еще другие вычисления и присваивания. , так что этот блок нужен.

Написано как пример, чтобы разобраться в конструкции.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE OR REPLACE FUNCTION TEST_1234(sn number, l number, g number ) RETURN number is
BEGIN
  if (sn=1) then      

          begin    
             if l<=h then 
               begin
               flag:=1;
               end;

             else
               begin
               flag:=0;
               end;

   end if;

  RETURN flag;
END TEST_1234;
...
Рейтинг: 0 / 0
конструкция if -begin end else
    #40076511
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WНаталья,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE OR REPLACE FUNCTION TEST_1234 (sn NUMBER, l NUMBER, g NUMBER)
    RETURN NUMBER IS
BEGIN
    IF (sn = 1) THEN
        BEGIN
            IF l <= h THEN
                BEGIN
                    flag   := 1;
                END;
            ELSE
                BEGIN
                    flag   := 0;
                END;
            END IF;

            RETURN flag;
        END;
    END IF;
END TEST_1234;
...
Рейтинг: 0 / 0
конструкция if -begin end else
    #40077040
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if - end if --- это один блок
begin - end --- это совсем другой блок
...
Рейтинг: 0 / 0
конструкция if -begin end else
    #40077044
Xdredd.vl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WНаталья,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE OR REPLACE FUNCTION TEST_1234(sn number, l number, g number ) RETURN number is
BEGIN
  if (sn=1) then      
             if l<=h then 
               flag:=1;
               /*тут можно писать много строк, не надо begin-end*/
             else
               flag:=0;
               /*тут можно писать много строк*/
             end if;
  end if;
  RETURN flag;
END TEST_1234;



В коде уважаемого Migelle есть ошибка, найти несложно. (что будет если sn не равно 1)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / конструкция if -begin end else
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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