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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » リモートデータアクセス » リモートプロシージャコール (RPC)

 

リモートプロシージャの作成 (SQL の場合)

Interactive SQL でリモートプロシージャおよびリモートファンクションを作成できます。

前提条件

ユーザ本人が所有するプロシージャおよびファンクションを作成するには、CREATE PROCEDURE システム権限が必要です。他のユーザが所有するプロシージャおよびファンクションを作成するには、CREATE ANY PROCEDURE または CREATE ANY OBJECT の権限が必要です。外部プロシージャとファンクションを作成するには、CREATE EXTERNAL REFERENCE システム権限も必要です。

内容と備考

リモートプロシージャが結果セットを返すことができる場合は、たとえすべてのケースで結果セットを返せるわけではなくても、ローカルプロシージャ定義には RESULT 句を含めてください。

 ♦ リモートプロシージャの作成
  1. ホストデータベースに接続します。

  2. プロシージャまたはファンクションを定義する文を実行します。

    次に例を示します。

    CREATE PROCEDURE RemoteProc()
    AT 'bostonase.master.dbo.sp_proc';
    CREATE FUNCTION RemoteFunc()
    RETURNS INTEGER
    AT 'bostonasa..dbo.sp_func';

    構文はローカルプロシージャの定義と似ています。ロケーション文字列は、プロシージャのロケーションを定義します。

結果

リモートプロシージャまたはファンクションが作成されます。

リモートプロシージャを呼び出すときにパラメータを指定する例を次に示します。

CREATE PROCEDURE RemoteUser ( IN username CHAR( 30 ) )
AT 'bostonase.master.dbo.sp_helpuser';
CALL RemoteUser( 'joe' );

この例は、リモートサーバ RemoteSA で定義されたファンクションへのインタフェースを作成します。

CREATE FUNCTION proxy_maxorder()
RETURNS INTEGER
AT 'RemoteSA;;DBA;maxorder';
 参照