Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » ストアド・プロシージャとトリガ » プロシージャ、トリガ、バッチの使用 » プロシージャの概要

 

プロシージャの作成

Sybase Central では、プロシージャ作成ウィザードに、プロシージャ・テンプレートを使用するオプションもあります。また、Interactive SQL を使用し、CREATE PROCEDURE 文を実行してプロシージャを作成することもできます。プロシージャを作成するには DBA または RESOURCE 権限が必要です。

♦  新しいプロシージャを作成するには、次の手順に従います (Sybase Central の場合)。
  1. DBA 権限または RESOURCE 権限のあるユーザとしてデータベースに接続します。

  2. 左ウィンドウ枠で、[プロシージャとファンクション] をダブルクリックします。

  3. [ファイル] - [新規] - [プロシージャ] を選択します。

  4. プロシージャ作成ウィザードの指示に従います。

  5. 右ウィンドウ枠で、[SQL] タブをクリックして、プロシージャ・コードを完了します。

    新しいプロシージャは、[プロシージャとファンクション] に表示されます。

次に、SQL Anywhere のサンプル・データベースの Departments テーブルに対して INSERT を実行して、新しい部署を作成するプロシージャ NewDepartment の簡単な例を示します。

CREATE PROCEDURE NewDepartment(
   IN id INT,
   IN name CHAR(35),
   IN head_id INT )
BEGIN
   INSERT
   INTO Departments ( DepartmentID,
       DepartmentName, DepartmentHeadID )
   VALUES ( id, name, head_id );
END;

プロシージャの本体は複合文です。複合文は BEGIN で始まり、END で終わります。NewDepartment では、複合文は BEGIN 文と END 文に挟まれた 1 つの INSERT 文です。

プロシージャのパラメータは IN、OUT、または INOUT のいずれかです。デフォルトでは、パラメータは INOUT パラメータです。NewDepartment プロシージャのパラメータは、プロシージャによって変更されないため、すべてが IN パラメータです。パラメータを使用して呼び出し元に値を返さない場合は、パラメータを IN に設定してください。

テンポラリ・プロシージャ

テンポラリ・プロシージャを作成するには、CREATE PROCEDURE 文を拡張した CREATE TEMPORARY PROCEDURE 文を使用してください。テンポラリ・プロシージャは、データベースに一時的に格納されます。テンポラリ・プロシージャは、接続の終了時または削除が指定された時点で削除されます。CREATE PROCEDURE 文 [Web サービス]を参照してください。

リモート・プロシージャ

リモート・プロシージャを作成するには、1 つ以上のリモート・サーバが必要です。次の項を参照してください。

参照