Oracle:PLSQL——类型

£神魔★判官ぃ 2022-05-24 00:13 327阅读 0赞































举例


说明
i number(2); 定义一个number的变量i
mysum number(3):=100; 定义一个number类型的变量mysum并为其赋值为100,注意 :‘ :=’为赋值符号
msg varchar2(4):=’zzzzz’; 定义一个varcher2类型的变量msg并为其赋值为zzzzzz,注意:PLSQL中字符用单引号括起来
pname emp.ename%type; 定义一个与enp表中ename字段相同类型的变量pname,注意:%type表示与该字段类型相同
emp_record emp%rowtype; 定义一个变量emp_record变量,其与emp表结构相同,注意:%rowtype表示与表结构相同,使用时用,变量名.字段名使用

%type与%rowtype的区别:

①当定义变量时,该变量的类型与表中某个字段的类相同时可以使用%type;

②当定义变量时,该变量与整个表结构完全相同时,可以使用%rowtype,此时可以通过变量名.字段名取变量中对应的值。

例1:输出7369号员工的姓名和工资,格式如下:7369号员工的姓名是SMITH,薪水是800.

解法一:使用%type

  1. declare
  2. --定义两个变量,分别装姓名和工资
  3. pename emp.ename%type;
  4. psal emp.sal%type;
  5. begin
  6. --SQL语句
  7. --PLSQL语句,将ename的值放入pname变量中,sal放入psal
  8. selelct ename,sal into pename,psal from emp where empno = 7369;
  9. dbms\_output.put\_line('7369号员工的姓名是' ||pename||',薪水是'||psal);

end;

/

解法2:使用%rowtype

declare

  1. emp\_record emp%rowtype;

begin

  1. select \* into emp\_record from emp where empno=369;
  2. dbms\_output.put\_line('7369号员工的姓名是' ||emp\_record.ename||',薪水是'||emp\_record.sal);

end;

/

发表评论

表情:
评论列表 (有 0 条评论,327人围观)

还没有评论,来说两句吧...

相关阅读