#PLSQL语句

YashanDB定义了一系列PL/SQL语句,按照这些语句指定的格式进行编程,并由YashanDB内置编译器进行编译,生成可运行的PL/SQL对象,如存储过程、函数等,满足在数据库层面实现各类复杂的业务逻辑。

# PL/SQL中的表达式

PL/SQL中的表达式是一个或多个值、运算符和SQL函数的组合,其计算结果为一个值,具体见表达式

# PL/SQL中的静态SQL语句

在PL/SQL中可编写如下SQL语句:

  • DML:INSERT/UPDATE/SELECT/MERGE/DELETE等。
  • DCL:COMMIT/ROLLBACK/SAVEPOINT等。

# 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 )。

# PL/SQL中的控制语句