EXECUTE 语句

使用 EXECUTE 语句来运行一个先前准备好的语句或一个准备好的多语句对象。

请随同 GBase 8s ESQL/C 使用本语句。

语法

元素 描述 限制 语法
stmt_id 准备好的 SQL 语句的标识符 必须在先前 PREPARE 语句中已经声明 标识符
stmt_id_var 包含准备好的语句标识符的主变量 必须存在,且必须包含一个先前 PREPARE 语句已声明的语句标识符,并必须为字符数据类型 PREPARE 语句

用法

EXECUTE 语句向数据库服务器传递一个准备好的 SQL 语句来执行。下列示例展示 GBase 8s ESQL/C 程序内的 EXECUTE 语句:
EXEC SQL PREPARE del_1 FROM
   'DELETE FROM customer WHERE customer_num = 119'; 
EXEC SQL EXECUTE del_1; 

一旦准备好,SQL 语句可根据需要执行。

在(使用 FREE 语句)释放数据库服务器资源之后,您不可随同 DECLEAR 游标或随同 EXECUTE 语句来使用该语句标识符,直到再次准备该语句。

如果该语句包含问号(?)占位符,则请在执行之前使用 USING 子句来为它们提供指定的值。要获取更多信息,请参阅 USING 子句

您可执行任意准备好的语句,除了下列列表中的那些:
  • 返回超过一行的准备好的 SELECT 语句

    当您使用准备好的 SELECT 语句来返回多行数据时,必须使用游标来检索这些数据行。作为替代方法,您可 EXECUTE 准备好的 SELECT INTO TEMP 语句来取得相同的结果。

    要获取更多关于游标的信息,请参阅 DECLARE 语句

  • 返回多于一行的 SPL 函数的准备好的 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句

    当您准备 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句来调用返回多行的 SPL 函数时,必须使用游标来检索这些数据行。

    要获取更多关于如何执行 SELECT 或 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句的信息,请参阅 PREPARE 语句

在准备触发 INSERT、DELETE 或 UPDATE 之后,如果您创建或删除触发器,则当您执行准备好的语句时,该语句返回错误。

1 请参阅 INTO 子句
2 请参阅 USING 子句