上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语句对变量赋值,要求查询的结果必须是一行,不能是多行或者没有记录,否则赋值语句将出现错误。