それぞれの
FETCH を正常に実行した後、Caché SQL で設定された行カウンタの変数。
CLOSE 時、または
FETCH が SQLCODE 100 (データがない、またはこれ以上データがない) を返すと、%ROWCOUNT は検出された行数の合計に設定されます。また、
INSERT コマンド、
UPDATE コマンド、および
DELETE コマンドも、%ROWCOUNT を、影響を受けた行数に設定します (0 または 1)。%ROWCOUNT は、メソッドまたはプロシージャの開始時に、自動的に NEW で処理されます。
SET name="LastName,FirstName",state="##"
&sql(DECLARE EmpCursor CURSOR FOR SELECT Name, Home_State
INTO :name,:state FROM Sample.Person)
WRITE !,"BEFORE: Name=",name," State=",state
&sql(OPEN EmpCursor)
FOR { &sql(FETCH EmpCursor)
QUIT:SQLCODE
WRITE !,"Row fetched: ",%ROWCOUNT
WRITE " Name=",name," State=",state
}
&sql(CLOSE EmpCursor)
WRITE !,"AFTER: Name=",name," State=",state
WRITE !,"Total rows fetched: ",%ROWCOUNT
SQLCODE 変数は、埋め込み SQL から返されると Caché SQL エラー・コード値を返します。詳細は、このドキュメントの "
SQL エラー・コード" を参照してください。SQLCODE は、メソッドまたはプロシージャの開始時に、自動的に NEW で処理されます。トリガ・コードで、SQLCODEを 0 以外の値に設定すると、自動的に %OK が 0 に設定されます。