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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » ストアドプロシージャー、トリガー、バッチ、ユーザー定義関数 » ユーザー定義関数

 

ユーザー定義関数の作成

CREATE FUNCTION 文を使用してユーザー定義関数を作成します。この文を実行するには、リソース権限が必要です。

次に示す例は、2 つの文字列を、間にスペースを入れた形で結合し、姓と名前から氏名を作成するのに使います。

CREATE FUNCTION FullName( FirstName CHAR(30),
   LastName CHAR(30) )
RETURNS CHAR(61)
BEGIN
   DECLARE name CHAR(61);
   SET name = FirstName || ' ' || LastName;
   RETURN ( name );
END;

CREATE FUNCTION の構文は、CREATE PROCEDURE 文の構文と若干異なります。次に相違点を示します。

  • IN、OUT、INOUT などのキーワードは必要ありません。すべてのパラメーターは IN パラメーターです。

  • 返されるデータ型を指定するために RETURNS 句が必要です。

  • 返される値を指定するために RETURN 文が必要です。

Sybase Central からユーザー定義関数を作成することもできます。

 ♦ ユーザー定義関数の作成 (Sybase Central の場合)
  1. SQL Anywhere 12 プラグインを使用して、DBA 権限またはリソース権限のあるユーザーとして、データベースに接続します。

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

  3. [ファイル]  » [新規]  » [ファンクション] をクリックします。

  4. ファンクション作成ウィザードの指示に従います。

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

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

 参照