Oracle 相关基础2-plsql中的查询
2022/8/6 2:24:01
本文主要是介绍Oracle 相关基础2-plsql中的查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-- 关于查询 -- -- 在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 ;
这篇关于Oracle 相关基础2-plsql中的查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享