zoukankan      html  css  js  c++  java
  • 变量

    变量

    Plsql编程中常见的变量分为两大类:

    1. 普通数据类型(char,varchar2,date,number,boolean,long)

    2. 特殊变量类型(引用型变量,记录型变量)

    声明变量的方式为:

    变量名 变量类型(变量长度) 例如:v_name varchar2(20)

    普通变量

    变量赋值的方式有两种:

    1. 直接赋值语句 := 比如: v_name :=’zhangsan’

    2. 语句赋值,使用select ...into...赋值:(语法 select 值 into 变量)

    示例:打印人员个人信息,包括:姓名,薪水,地址

    -- Created on 2020/12/12 by zyq
    declare 
      -- Local variables here
      --姓名
      v_name varchar2(20) :='zhangsan';
      --薪水
      v_sal number;
      --地址
      v_addr varchar2(200);
    begin
      -- Test statements here
      --直接赋值
      v_sal :=1580;
      --语句赋值
      select '北京市通州区' into v_addr from dual;
      --打印输出
      dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal||',地址:'||v_addr);
    end;
    

    执行输出结果:

    姓名:zhangsan,薪水:1580,地址:北京市通州区

    引用型变量

    变量的类型和长度取决于表中字段的类型和长度

    通过表名.列名%type指定变量的类型和长度,例如:v_name emp.ename%type;

    [示例]查询emp表中的7839号员工的个人信息,打印姓名和薪水

    使用普通变量的方式:

    -- Created on 2020/12/12 by zyq
    declare 
      -- Local variables here
      --姓名
      v_name varchar2(20) :='zhangsan';
      --薪水
      v_sal number;
     
    begin
      -- Test statements here
      SELECT a.ename,a.sal into v_name,v_sal FROM emp a WHERE a.empno='7839';
     **--打印输出**
     dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal);
    
    end;
    

    使用引用型变量的方式:

    dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal);

    end;

    使用引用型变量的方式:

    -- Created on 2020/12/12 by zyq
    declare 
      -- Local variables here
      --姓名
      v_name emp.ename%type;
      --薪水
      v_sal emp.sal%type;
     
    begin
      -- Test statements here
      SELECT a.ename,a.sal into v_name,v_sal FROM emp a WHERE a.empno='7839';
    
      --打印输出
      dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal);
    end;
    

    引用型变量的好处:

    使用普通变量定义方式,需要知道表中列的类型,而使用引用类型,不需要考虑列的类型,使用%type是非常好的编程风格,因为他是的plsql更加灵活,更加适应于对数据库定义的更新。

    记录型变量

    解释:记录型变量,就是将整个表中的一行记录的所有字段同时声明出来。

    -- Created on 2020/12/12 by zyq
    declare 
      -- Local variables here
      --记录型变量
      v_emp emp%rowtype;
      
     
    begin
      -- Test statements here
      SELECT * into v_emp FROM emp a WHERE a.empno='7839';
    
      --打印输出
      dbms_output.put_line('姓名:'||v_emp.ename||',薪水:'||v_emp.sal);
    end;
    

    如果有一个表,有100个字段,那么你程序中如果要使用这100个字段的话,如果你使用引用型变量一个个声明,会特别的麻烦,记录型变量可以方便的解决这个问题

    错误的使用:

    1. 记录型变量只能存储一个完整的行数据

  • 相关阅读:
    Outlook 2003 最小化到系统托盘方法 [转]
    Sql Server 得到当月第一天
    禁止用户对系统数据库表的SELECT权限
    解决IE二级链接无法打开故障
    服务器安全设置全攻略
    使用TSQL脚本在SQL Server创建角色,并给角色赋予相应权限
    Redis内部阻塞式操作有哪些?
    UML和OO
    PetShop 4 详解(转载)
    Blog开通了
  • 原文地址:https://www.cnblogs.com/dongyaotou/p/14204209.html
Copyright © 2011-2022 走看看