PL/SQL与广泛使用的数据库操作语言SQL紧密集成。举例如下:
(1)PL/SQL允许使用所有SQL数据操作、游标控制和事务控制语句,以及所有SQL函数、运算符和伪列。
(2)PL/SQL完全支持SQL数据类型,无须在PL/SQL和SQL数据类型之间进行转换。
(3)PL/SQL允许运行SQL查询,并一次处理查询结果集中的一行或多行。
(4)PL/SQL函数可以在SQL SELECT语句的WITH子句中声明和定义。
(5)PL/SQL支持静态和动态SQL,动态SQL使应用程序更加灵活和通用。
PL/SQL允许将语句块发送到数据库,从而显著减少应用程序和数据库之间的流量。功能如下。
(1)绑定变量。
在PL/SQL代码中直接嵌入SQL的INSERT、UPDATE、DELETE、MERGE或SELECT语句时,PL/SQL编译器会将WHERE和VALUES子句中的变量转换为绑定变量。KingbaseES数据库可以在每次运行相同的代码时重用这些SQL语句,从而提高性能。使用动态SQL时,PL/SQL不会自动创建绑定变量,但可以通过显式指定将其与动态SQL一起使用。
(2)子程序。
PL/SQL子程序以明文或加密的形式存储。每个session在第一次调用子程序时都需要进行一次编译,且保存编译结果。
PL/SQL有许多节省设计和调试时间的特性,并且在所有环境中都一样。PL/SQL允许编写紧凑的代码操作数据,可以查询、转换和更新数据库中的数据。
PL/SQL是用于数据库开发的可移植标准语言。可以在运行数据库的任何操作系统和平台上运行PL/SQL应用程序。
PL/SQL存储子程序通过将应用程序处理集中在数据库服务器上来提高可扩展性。
PL/SQL存储的子程序提高了可管理性,任何应用程序都可以使用子程序、更改子程序,而不影响调用它们的应用程序。
PL/SQL允许定义可用于面向对象设计的对象类型,支持带有“抽象数据类型”的面向对象编程。