9.5.2 执行准备好的 SQL
在您准备语句之后,您可多次执行它。使用 EXECUTE 语句执行不是 SELECT 语句的那
些语句,以及仅返回一行的 SELECT 语句。
下列 GBase 8s ESQL/C 代码准备并执行银行账户的多语句更新:
EXEC SQL BEGIN DECLARE SECTION;
char bigquery[270] = "begin work;";
EXEC SQL END DECLARE SECTION;
stcat ("update account set balance = balance + ? where ", bigquery);
stcat ("acct_number = ?;', bigquery);
stcat ("update teller set balance = balance + ? where ", bigquery);
stcat ("teller_number = ?;', bigquery);
stcat ("update branch set balance = balance + ? where ", bigquery);
stcat ("branch_number = ?;', bigquery);
stcat ("insert into history values(timestamp, values);", bigquery);
EXEC SQL prepare bigq from :bigquery;
EXEC SQL execute bigq using :delta, :acct_number, :delta,
:teller_number, :delta, :branch_number;
EXEC SQL commit work;
EXECUTE 语句的 USING 子句提供主变量的列表,以其值替代准备好的语句中的问号。
如果 SELECT(或 EXECUTE FUNCTION)仅返回一行,则您可使用 EXECUTE 的 INTO
子句来指定接收这些值的主变量。
GBase 8s V8.8 SQL 指南:教程-9.5.2
最新推荐文章于 2023-06-08 08:15:50 发布