プロシージャは、プロシージャのパラメータで呼び出しを行った環境に結果を返すことができます。次の文を使用して、プロシージャ内でパラメータと変数に値を割り当てることができます。
SET 文
次に示すプロシージャは、SET 文を使用して OUT パラメータに値を割り当てて返します。次の文を実行するには、CREATE PROCEDURE システム権限を持っていることが必要です。
CREATE PROCEDURE greater( IN a INT, IN b INT, OUT c INT ) BEGIN IF a > b THEN SET c = a; ELSE SET c = b; END IF ; END; |
INTO 句を持つ SELECT 文
「シングルロークエリ」がデータベースから取り出すローの数は多くても 1 つだけです。このタイプのクエリは SELECT 文に INTO 句を組み合わせて作成します。INTO 句は SELECT リストの後に続き、FROM 句より前に指定します。SELECT リストの各項目の値を受け取るための変数のリストが含まれます。変数は、SELECT リストの項目数と同じ数だけ用意します。
SELECT 文が実行されると、データベースサーバは SELECT 文の結果を取り出して、変数に入れます。クエリの結果、複数のローが取り出されると、データベースサーバはエラーを返します。複数のローを返すクエリにはカーソルを使用します。
クエリの結果、選択されたローが存在しない場合、変数は更新されず、警告が返されます。
SELECT 文を実行するには、オブジェクトに対する適切な SELECT 権限を持っている必要があります。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |