IF Statement
IFステートメントは条件を評価し、評価結果に応じて 2 つのステートメントのいずれかを実行します。IFステートメントをネストして、複雑な分岐ロジックを作成することができます。依存するELSE文は、IF文が false と評価された場合にのみ実行されます。
Usage
IF (criteria) block[ELSE block]Example
BEGINDECLARE STRING var1 = 'South America';IF (var1 = 'North America') BEGIN ... ENDELSE BEGIN ... ENDENDNULL 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> blockSyntax
- ラベルは、このラベルを含むステートメントで使用されている他のラベルと同じであってはなりません。
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> blockSyntax
- ラベルは、このラベルを含むステートメントで使用されている他のラベルと同じであってはなりません。
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; ENDEND ;;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 ;;