前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PLSQL-简单的语句块及变量的定义

PLSQL-简单的语句块及变量的定义

作者头像
字母哥博客
发布2020-09-23 11:00:56
7330
发布2020-09-23 11:00:56
举报
文章被收录于专栏:写字母的代码哥

简单的语句块及变量的定义

常用数据类型变量的定义

代码语言:javascript
复制
declare
    sNum number(1);
    sCount binary_integer := 0;   --默认值0
    sSal number(7, 2) := 5000.00;  --7位数,精度2位
    sDate date := sysdate;
    sPI number(3, 2) := 3.14;
    sValid boolean := true;
    sName varchar2(20) := 'Jackson';
begin
    dbms_output.put_line('sName:' || sName);
    dbms_output.put_line('sCount:' || sCount);
    dbms_output.put_line('sSal:' || sSal);
    dbms_output.put_line('sDate:' || sDate);
    dbms_output.put_line('sPI:' || sPI);
    --dbms_output.put_line('sValid:' || sValid);
    --boolean数据类型无法直接转换成varchar类型输出
    dbms_output.put_line('sName:' || sName);
end;

定义数组变量类型

代码语言:javascript
复制
declare
  --声明类型
  type type_table_emp_empno is table of emp.empno%type index by binary_integer;
  --定义一个数组,数组的元素类型emp.empno%type
  --emp.empno%type含义即元素类型和emp表的empno数据类型一致
  --index by binary_integer保证了数组空间的自扩展
  empnos type_table_emp_empno;
  --定义变量(变量 类型)
begin
  empnos(0) := 7369;
  empnos(2) := 6789;
  empnos(-1) := 6543;
  dbms_output.put_line(empnos(-1));
end;

定义record变量类型

代码语言:javascript
复制
declare
  --声明类型
  type type_record_dept is record (
       deptno dept.deptno%type,
       dname dept.dname%type,
       loc dept.loc%type
  );
 --变量定义
  temp type_record_dept;

begin
  temp.deptno := 56;
  temp.dname := 'software';
  temp.loc := 'gz';
  dbms_output.put_line(temp.deptno || ' ' || temp.dname  || ' ' || temp.loc);
end;

使用rowtype声明record变量

代码语言:javascript
复制
declare
  temp dept%rowtype;
  --temp是一个record变量,数据类型同dept表
begin
  temp.deptno := 57;
  temp.dname := 'it';
  temp.loc := 'sz';
  dbms_output.put_line(temp.deptno || ' ' || temp.dname  || ' ' || temp.loc);
end;

变量的赋值

sql语句完成变量赋值

代码语言:javascript
复制
declare
  v$sal emp.sal%type;
  --加上一个v$对存储过程区分变量与字段名称好习惯
  v$ename emp.ename%type;
begin
  select sal, ename into v$sal, v$ename from emp where rownum = 1;
  --将emp表的第一条记录的sal和ename值赋给对应的变量
  dbms_output.put_line(v$sal || ' ' || v$ename);
end;

sql语句完成rowtype变量赋值

代码语言:javascript
复制
declare
  v_row_emp emp%rowtype;
begin
  select * into v_row_emp from emp where empno = 7698;
  --注意这里用的select星
  dbms_output.put_line(v_row_emp.sal || ' ' || v_row_emp.ename);
end;

转载自

  • (在此博文基础上做了注释,及table类型修正,实际为数组类型) http://www.cnblogs.com/hoojo/archive/2011/05/03/2035335.html

喜欢 (0)or分享 (0)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-02-09),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单的语句块及变量的定义
    • 常用数据类型变量的定义
      • 定义数组变量类型
        • 定义record变量类型
          • 使用rowtype声明record变量
          • 变量的赋值
            • sql语句完成变量赋值
              • sql语句完成rowtype变量赋值
                • 转载自
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档