【文件属性】:
文件名称:PL/SQL访问数据库-the design and analysis of algorithms
文件大小:4.17MB
文件格式:PDF
更新时间:2021-06-09 10:52:11
达梦,DM7
12.5 PL/SQL访问数据库
编写 PL/SQL块的目的主要是对数据进行访问,因此,在 PL/SQL块中可以包含数据查
询 SELECT语句,也可以包含 INSERT、DELETE、UPDATE等数据操纵语句。需要注意的是,
在 PL/SQL 中不能直接包含 DDL 语句,如果要利用 PL/SQL 块完成诸如创建表、修改表结
构等操作,需要通过 SQL语句的动态执行。
通过 SQL语句以及流控制语句,可以编写复杂的 PL/SQL语句块,对数据库进行复杂的
访问。由于 PL/SQL 块一般是在应用程序中调用执行,而不是以交互方式执行,所以在
PL/SQL 块中的 SQL 语句与一般的 SQL语句有所不同。使用 PL/SQL 来控制对数据库的操
作流程,功能更加丰富、灵活。
12.5.1 数据查询
在 PL/SQL块中通过 SELECT语句从数据库中检索数据。由于要对数据进行查询以及处
理,而不仅仅是显示出来,所以 SELECT语句需要采用下面的特殊格式先把数据放到一个临
时空间中以便后面对它进行引用:
SELECT 列 1,列 2,列 3… INTO 变量 1,变量 2,变量 3…
FROM 表…
与一般的SELECT语句相比,PL/SQL块中的SELECT语句使用了INTO语句,利用INTO
子句,把查询到的数据存放在变量中,以进行相应的处理。例如下面的例子首先从学生表中
检索学生的姓名、年龄、学号信息,分别存放在 O_NAME、O_AGE、O_SNO本地变量中,然
后将这些信息合起来输出。
CREATE OR REPLACE PROCEDURE PROC AS
DECLARE
O_NAME VARCHAR;
O_AGE INT;
O_SNO INT;
BEGIN
SELECT NAME, AGE ,SNO INTO O_NAME, O_AGE ,O_SNO
FROM STUDENT WHERE SNO = 10010;
PRINT O_NAME || ' ' || O_AGE || ' ' || O_SNO;