GBase 8s V8.8 SQL 指南:教程-9.1.5

9.1.5 程序变量和主变量
应用程序可在 SQL 语句内使用程序变量。在 SPL 中,当语法允许时,您可在 SQL 语句
中放置程序变量。例如,DELETE 语句可在它的 WHERE 子句中使用程序变量。
下列代码示例展示 SPL 中的程序变量。
CREATE PROCEDURE delete_item (drop_number INT)
 ⋮
 DELETE FROM items WHERE order_num = drop_number
 ⋮
在使用嵌入式 SQL 语句的应用程序中,SQL 语句可引用程序变量的内容。在嵌入式 SQL 
语句中命名的程序变量称为主变量,因为在程序中将该 SQL 语句认作是客人。
下列示例展示 DELETE 语句,当将它嵌入在 GBase 8s ESQL/C 源程序中时,它可能出现:
EXEC SQL delete FROM items
 WHERE order_num = :onum;
在此程序中,您看到常规的 DELETE 语句,如同 修改数据 描述的那样。当执行该 GBase 
8s ESQL/C 程序时,删除 items 表的一行;还可删除多行。
该语句包含一个新的特性。它将 order_num 列与编写为 :onum 的一项相比较,这是主变
量的名称。
SQL API 产品提供一种分隔主变量的名称的方式,当它们出现在 SQL 语句的上下文中时。
在 GBase 8s ESQL/C 中,可使用美元符号($)或冒号(:)来引入主变量。冒号是符合 ANSI 
的格式。示例语句请求数据库服务器删除其中的订单编号等于名为 :onum 的主变量的当前
内容的那些行。在程序中声明了此数值变量并提前分配了值。
在 GBase 8s ESQL/C 中,可使用前导的美元符号($)或关键字 EXEC SQL 来引入 SQL 语
句。
在前面的示例中说明的语法的差异很小; 重要的是,SQL API 和 SPL 语言使您执行下列
任务:
• 在源程序中嵌入 SQL 语句,就好像它们是主语言的可执行语句一样。
• 以使用文字值的方式,在 SQL 表达式中使用程序变量。
如果您有编程经验,则您可立即看到这些可能性。在该示例中,将要删除的订单号码传到
变量 onum 中。那个值来自程序可使用的任何源。可从文件读取它,程序可提示用户输入
它,或可从数据库读取它。DELETE 语句本身可为子例程的一部分(在此情况下,onum 可
为该子例程的参数);可一次或反复地调用该子例程。
总之,当您在程序中嵌入 SQL 语句时,您可对它们应用主语言的所有功能。您可将 SQL 语
句隐藏在许多接口之下,且可以多种方式优化 SQL 函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值