返回首页

gbase数据、南大通用产品文档:GBase8s动态 SQL

更新日期:2024年09月11日

虽然静态 SQL 是有用的,
但在您编写程序的时候,
它要求您知道每个 SQL 语句确切内容。
例如,您必须确切说明在任何 WHERE 子句中测试哪些列,以及在任何选择列表中重命名
哪些列。
当您编写程序来执行定义良好的任务时,不存在任何问题。但不可事先完善地定义某些程
序的数据库任务。特别地,必须响应交互用户的程序可能需要根据用户输入的内容来组合
SQL 语句。
动态 SQL 允许程序在执行期间形成 SQL 语句,
因此,
用户输入决定该语句的内容。
以下
列步骤执行此活动:
1. 程序将 SQL 语句的文本组装为一个字符串,将该字符串存储在程序变量中。
2. 它执行 PREPARE 语句,请求数据库服务器测试该语句文本并为执行来准备它。
3. 它使用 EXECUTE 语句来执行该准备好的语句。
这样,基于任何种类的用户输入,程序可构造并然后使用任何 SQL 语句。例如,它可读
取一个 SQL 语句的文件并准备和执行每一语句。
DB-Access 是一个您可用来交互地探索 SQL 的实用程序,它是一个动态地构造、准备和
执行 SQL 语句的 GBase 8s ESQL/C 程序。例如,DB-Access 允许您使用简单的、交互式
的菜单来指定表的行。当您完成时,DB-Access 动态地构建必需的 CREATE TABLE 或
ALTER TABLE 语句并准备和执行它。

函数说明
将字符串str 中的所有字符改变为小写形式。
示例
示例1:将“QUADRATICALLY”转为小写形式。
gbase> SELECT LCASE('QUADRATICALLY') FROM dual;
+------------------------+
| LCASE('QUADRATICALLY') |
+------------------------+
| quadratically
|
+------------------------+
1 row in set

ACOS(X)
函数说明
返回X 的反余弦,即返回余弦值为X 的值。
如果X 不在-1 到1 之间的范围内,返回NULL。
示例
示例1:X 为正数。
gbase> SELECT ACOS(1) FROM dual;
+---------+
| ACOS(1) |
+---------+
|
0 |
+---------+
1 row in set
示例2:X 大于1。
gbase> SELECT ACOS(1.0001) FROM dual;
+--------------+
| ACOS(1.0001) |
+--------------+
|
NULL |
+--------------+
1 row in set
示例3:X 为0。
gbase> SELECT ACOS(0) FROM dual;
+-----------------+
| ACOS(0)
|
+-----------------+
| 1.5707963267949 |
+-----------------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
748