当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

PL/SQL教程:变量怎么声明

PL/SQL教程:变量怎么声明

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赋值,要求查询的结果必须是一行,不能是多行或者没有记录。

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙