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';
 另请参见