ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle 相关基础2-plsql中的查询

2022-08-04 22:32:28  阅读:195  来源: 互联网

标签:ename plsql -- empno 查询 job emp Oracle type


-- 关于查询 -- -- 在plsql中,查询方式不在之前的 select 字段 ,... from 表; -- 查询的语法格式 -- 在plsql中处理的基本上全是变量 -- 变量只能一次接收一个值 ,只能处理单个值或者是单行的数据
语法:    declare      变量 类型(手动,%type,记录类型,%rowtype)    begin      select 字段  into 变量 from 表;    end ;
-- 例1.查询emp表中员工姓名 -- ORA-01422: 实际返回的行数超出请求的行数 declare   v_ename varchar2(30); begin select ename into v_ename from scott.emp e ; end ;
-- 例2.查询emp表中员工姓名 declare   v_ename varchar2(30); begin   select ename into v_ename from scott.emp e where empno = 7788;   dbms_output.put_line(v_ename);   end;
-- 例3.查询emp表中7369的员工姓名,员工编号,工作,并打印输出员工姓名,员工编号,工作 declare   v_empno varchar2(30);   v_ename emp.ename%type;   v_job   emp.job%type; begin    select empno,ename,job into v_empno,v_ename,v_job from emp where empno = 7369;    dbms_output.put_line(v_empno); end ;
-- 例4.查询emp表员工编号为 7788 的员工姓名,员工编号,工作,部门编号 declare   v_empno        emp.empno%type;       v_ename        emp.ename%type;   v_job          emp.job%type;   v_mgr          emp.mgr%type;   v_hiredate     emp.hiredate%type;   v_sal          emp.sal%type;   v_comm         empcomm%type; begin    select empno, ename, job, mgr, hiredate, sal, comm      into v_empno,v_ename,v_job,v_mgr,v_hiredate,v_sal,v_comm      from emp     where empno = 7788;         dbms_output.put_line(v_empno || ' ' || v_ename);   end ;
-- 改用 记录类型的方式   declare    type rec_emp is record (       v_empno        emp.empno%type,           v_ename        emp.ename%type,       v_job          emp.job%type,       v_mgr          emp.mgr%type,       v_hiredate     emp.hiredate%type,       v_sal          emp.sal%type,       v_comm         emp.comm%type ); v_emp rec_emp; begin    select empno, ename, job, mgr, hiredate, sal, comm      into v_emp -- 此时只需要声明的变量即可      from emp     where empno = 7788;     dbms_output.put_line('员工编号是:' || v_emp.v_empno || v_emp.v_job );  
end ;
-- 例5.%rowtype ,查询emp表中员工编号为7521的员工信息 declare   v_emp emp%rowtype ; begin   select * into v_emp from emp where empno = 7521 ;   dbms_output.put_line(concat(v_emp.empno ,v_emp.ename) || v_emp.job) ; end ;
-- 例6.查询emp表中员工编号为 7698 的员工姓名,员工工作,员工部门 declare   v_ename  dept.dname%type;   v_job    emp.job%type;   v_deptno number; begin   select ename, job, deptno     into v_ename, v_job, v_deptno     from scott.emp e    where empno = '7698';    dbms_output.put_line('员工姓名' || ',' || v_ename || ',' || '员工工作:' || v_job );                 end;
-- 例7.查询emp表中员工信息 /* ORA-01422: 实际返回的行数超出请求的行数 ORA-06512: 在 line 5 */ declare   v_emp emp%rowtype ; begin   select * into v_emp from emp;   dbms_output.put_line(v_emp.empno);   end ;

标签:ename,plsql,--,empno,查询,job,emp,Oracle,type
来源: https://www.cnblogs.com/mzf1209/p/16552525.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有