GBase 8s SQL 指南:教程 / 在 SELECT 语句中使用函数 |
本章前面的示例显示由列名、运算符和 SQL 函数组成的 SELECT 语句表达式。本章提供了包含 SPL 例程调用的表达式。
SPL 例程包含特定的存储过程语言(SPL)语句和 SQL 语句。有关 SPL 例程的更多信息,请参阅创建和使用 SPL 例程。
GBase 8s 允许用 C 和 Java™ 编写外部例程。有关更多信息,请参阅 GBase 8s 用户定义的例程和数据类型开发者指南 。
SELECT col_a, test_func(col_b) FROM tab1 WHERE col_c = "Davis";
当您在 SELECT 语句的 Projection 子句中包含 SPL 例程表达式时,该 SPL 例程必须是返回单个值(一行一列)的例程。例如:仅当 test_func() 返回单个值时,数据库服务器返回一个错误消息。returns more than one value, the database server returns an error message.
SPL 例程通过允许您对选择的每行执行子查询来扩展可用函数的范围。
图: 查询
SELECT customer_num, lname, get_orders(customer_num) n_orders FROM customer;
图: 查询结果
customer_num lname n_orders 101 Pauli 1 102 Sadler 9 103 Currie 9 104 Higgins 4 ⋮ 123 Hanlon 1 124 Putnum 1 125 Henry 0 126 Neelie 1 127 Satifer 1 128 Lessor 0
图: 查询
SELECT stock_num, manu_code, description FROM stock WHERE conv_price(unit_price, ex_rate = 1.50, tariff = 50.00) < 1000;