#PLSQL语句
YashanDB定义了一系列PL/SQL语句,按照这些语句指定的格式进行编程,并由YashanDB内置编译器进行编译,生成可运行的PL/SQL对象,如存储过程、函数等,满足在数据库层面实现各类复杂的业务逻辑。
# PL/SQL中的表达式
PL/SQL中的表达式是一个或多个值、运算符和SQL函数的组合,其计算结果为一个值,具体见表达式。
# PL/SQL中的静态SQL语句
在PL/SQL中可编写如下SQL语句:
# PL/SQL中的动态SQL语句
在PL/SQL中可以通过[EXECUTE Statement][./EXECUTE Statement]执行动态SQL语句。
相比普通的SQL语句,在PL/SQL中编写SQL语句时存在如下限制:
- 在SQL语句中出现的标识符与过程体的变量同名时,将优先使用过程体的变量名称,系统将该标识符替换为绑定参数占位符
?
。 - 在SQL语句中使用到表达式时,遵循上述PL/SQL中的表达式规则。
- 编写SELECT语句必须有INTO子句,且select_list的个数必须INTO子句相对应。
- 非SELECT的DML语句中不能使用子查询和递归查询。
- COMMIT/ROLLBACK只能使用缺省的COMMIT/ROLLBACK语法,不能为其指定任何选项。
- PL/SQL不支持使用CTE( Common Table Expression )。