IF Statement
IF
ステートメントは条件を評価し、評価結果に応じて 2 つのステートメントのいずれかを実行します。IF
ステートメントをネストして、複雑な分岐ロジックを作成することができます。依存するELSE
文は、IF
文が false と評価された場合にのみ実行されます。
Usage
IF (criteria)
block
[
ELSE
block]
Example
BEGIN
DECLARE
STRING var1 =
'South America'
;
IF (var1 =
'North America'
)
BEGIN
...
END
ELSE
BEGIN
...
END
END
NULL
values should be considered in the criteria of an IF
statement. IS NULL
can be used to detect the presence of a NULL
value.Loop Statement
LOOP
ステートメントは、結果セットをカーソルするために使用される反復制御コンストラクトです。
Usage
[label :] LOOP
ON
(<
select
statement>)
AS
<cursorname>
block
Syntax
- ラベルは、このラベルを含むステートメントで使用されている他のラベルと同じであってはなりません。
Example
BEGIN
LOOP
ON
(
SELECT
id
FROM
"SYSADMIN.ScheduleJobs"
)
AS
JOB
BEGIN
CALL SYSADMIN.createSchedule(jobId => job.id, type =>
'once'
, intervl => 0, startDelay => 0, enabled =>
true
);
END
END
;;
While Statement
WHILE
ステートメントは、指定された条件が満たされるたびにブロックを繰り返し実行するために使用される反復制御構文です。
Usage
[label :] WHILE <criteria>
block
Syntax
- ラベルは、このラベルを含むステートメントで使用されている他のラベルと同じであってはなりません。
Example
BEGIN
DECLARE
integer
i = 0;
WHILE (i < 5)
BEGIN
SELECT
i; i = i + 1;
END
END
;;
Continue Statement
CONTINUE
ステートメントは、LOOP
またはWHILE
コンストラクトの内部で使用され、ループ内の残りのステートメントをスキップして次のループを続行します。LOOP
またはWHILE
文の中で使用する必要があります。
Usage
CONTINUE
[label];
Syntax
- ラベルを指定する場合は、
LOOP
またはWHILE
を含むステートメントに存在する必要があります; - ラベルが指定されていない場合、ステートメントは
LOOP
またはWHILE
ステートメントを含む最も近いものに影響します。
Example
BEGIN
DECLARE
integer
i = 0;
DECLARE
string str = 0;
WHILE (i < 5)
BEGIN
i = i + 1;
IF (i
in
(2, 3))
CONTINUE
;
str = str || i;
END
SELECT
str;
END
;;
Break Statement
LOOP
またはWHILE
構文の内部でBREAK
ステートメントを使用すると、ループから抜け出すことができます。LOOP
またはWHILE
文の中で使用する必要があります。
Usage
BREAK [label];
Syntax
- ラベルを指定する場合は、
LOOP
またはWHILE
を含むステートメントに存在する必要があります; - ラベルが指定されていない場合、ステートメントは
LOOP
またはWHILE
ステートメントを含む最も近いものに影響します。
Example
BEGIN
DECLARE
integer
i = 0;
WHILE (i < 5)
BEGIN
IF(i = 3)
BREAK;
SELECT
i;
i = i + 1;
END
END
;;
Leave Statement
LEAVE
ステートメントは、複合、LOOP
、またはWHILE
コンストラクトの内部で使用され、指定されたレベルに残ります。
Usage
LEAVE label;
Syntax
- ラベルは、containing Compound Statement、
LOOP
、またはWHILE
ステートメント上に存在する必要があります。
Example
BEGIN
DECLARE
string str = 0;
LABEL_A:
BEGIN
BEGIN
str =
'a'
;
LEAVE LABEL_A;
END
str =
'b'
;
END
SELECT
str;
END
;;