语法 1 用于激活过程,它是替代 CALL 语句的方法并且与 Adaptive Server Enterprise 兼容。也可以在 Transact-SQL 存储过程和触发器内 执行语句。有关详细信息,请参见 EXECUTE IMMEDIATE 语句 [SP]。语法 2 用于在 Transact-SQL 中执行预准备 SQL 语句。
EXECUTE [ @return_status = ] [creator.]procedure_name [ argument, ... ]
argument :
[ @parameter-name = ] expression
| [ @parameter-name = ] @variable [ output ]
EXECUTE ( string-expression )
语法 1 执行存储过程,选择性地提供过程参数以及检索输出值和返回状态信息。
实现 EXECUTE 语句是为了与 Transact-SQL 兼容,但此语句可以在 Transact-SQL 或 Watcom-SQL 批处理和过程中使用。
使用语法 2,可以在 Transact-SQL 存储过程和触发器内执行语句。EXECUTE 语句扩展了可以从过程和触发器内执行的语句的范围。它使您可以执行动态预准备语句,比如用传递到过程中的参数构造的语句。此语句中的字符串必须用单引号括起来,并且此语句必须位于一行上。
必须是过程的所有者,有过程的 EXECUTE 权限或者有 DBA 权限。
无。
下面的过程阐释了语法 1。
CREATE PROCEDURE p1( @var INTEGER = 54 ) AS PRINT 'on input @var = %1!', @var DECLARE @intvar integer SELECT @intvar=123 SELECT @var=@intvar PRINT 'on exit @var = %1!', @var
下面的语句执行过程,为参数提供输入值 23。如果是从 Open Client 或 JDBC 应用程序连接,则 PRINT 消息显示在客户端窗口上。如果是从 ODBC 或嵌入式 SQL 应用程序连接,则消息显示在数据库服务器窗口上。
EXECUTE p1 23
以下是另一种执行过程的方法,当有几个参数时该方法很有用。
EXECUTE p1 @var = 23
下面的语句执行过程,使用参数的缺省值
EXECUTE p1
下面的语句执行过程,并在用于检查返回状态的变量中存储返回值。
EXECUTE @status = p1 23
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。