Oracle数据库编程经典300例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例009 变量初始化及存储数据记录

【实例描述】

实例008对变量进行初始化和赋值时使用了赋值运算符“:=”,事实上,PL/SQL中对变量赋值还可以使用SELECT…INTO语句从数据库中查询数据对变量进行赋值。但是查询的结果只能是一行记录,不能是零行或者多行记录。

本实例从数据表STUDENT中取出学号为“120001”的学生,将其赋值到变量name中并输出,STUDENT表的基本数据如图1-28所示,编写PL/SQL块执行后的输出结果如图1-29所示。

图1-28 数据表STUDENT初始数据

图1-29 使用变量输出查询中的字段值

【实现代码】

    SQL> DECLARE
      2  name VARCHAR2(50) DEFAULT 'Null';
      3  BEGIN
      4  SELECT sname INTO name FROM STUDENT WHERE sno='120001';
      5  DBMS_OUTPUT.PUT_LINE (name);
      6  END;
      7  /

【范例解析】

读者可以看到,上述PL/SQL块代码声明一个变量name为VARCHAR2数据类型,长度为50,其初始化值是“NULL”。此处变量初始化时采用的是DEFAULT关键字来完成,并使用SELECT…INTO语句对变量name赋值,并用输出语句将name中的值输出。

对比STUDENT数据表,可以看到学号为“120001”的学生姓名值为“陈诚”,将该值赋给变量name并输出,从而得到图1-29所示的输出。

注意:使用SELECT⋯INTO语句对变量赋值,要求查询的结果必须是一行,不能是多行或者没有记录,否则赋值语句将出现错误。