Oracle PL/SQL变量声明

Oracle培训教程:PL/SQL变量声明,PL/SQL支持SQL中的数据类型,PL/SQL中正常支持NUMBER,VARCHAR2,DATE等Oracle SQL数据类型。声明变量必须指明变量的数据类型,也可以声明变量时对变量初始化,变量声明必须在声明部分。声明变量的语法是:

语法格式:声明变量

变量名 数据类型[ :=初始值]

语法解析:

数据类型如果需要长度,可以用括号指明长度,比如:varchar2(20)。

代码演示:声明变量

SQL> DECLARE

  2       sname VARCHAR2(20) :='jerry';  ①

  3  BEGIN

  4       sname:=sname||' and tom';  ②

  5       dbms_output.put_line(sname);  ③

  6  END;

  7  /jerry

PL/SQL procedure successfully completed

代码解析:

① 声明一个变量sname,初始化值是“jerry”。字符串用单引号,如果字符串中出现单引号可以使用两个单引号(’’)来表示,即单引号同时也具有转义的作用。

② 对变量sname重新赋值,赋值运算符是“:=”。

③ dbms_output.put_line是输出语句,可以把一个变量的值输出,在SQL*Plus中输出数据时,可能没有结果显示,可以使用命令:set serveroutput on设置输出到SQL*Plus控制台上。

对变量赋值还可以使用SELECT…INTO 语句从数据库中查询数据对变量进行赋值。但是查询的结果只能是一行记录,不能是零行或者多行记录。

代码演示:变量赋值

SQL> DECLARE

  2       sname VARCHAR2(20) DEFAULT 'jerry';  ①

  3  BEGIN

  4       SELECT ename INTO sname FROM emp WHERE empno=7934;  ②

  5       dbms_output.put_line(sname);

  6  END;

  7  /

MILLER

PL/SQL procedure successfully completed

代码解析:

① 变量初始化时,可以使用DEFAULT关键字对变量进行初始化。

② 使用select…into语句对变量sname赋值,要求查询的结果必须是一行,不能是多行或者没有记录。

来源:北京Oracle认证

你可能感兴趣的:(oracle)