pl查询
来源:互联网 发布:东北歌手最火的网络歌 编辑:程序博客网 时间:2024/06/16 21:47
DECLARE
v_q EMP.sal %type; --定义属性类型 type 若sal类型改变 v_q 也会相应改变 --定义变量v_q
BEGIN
SELECT e.SAL INTO v_q --取值放入v_q
from emp e
WHERE e.HIREDATE=TO_DATE('1981-02-20', 'yyyy-mm-dd');
if (v_q >2500)
THEN
--专门输出语句
dbms_output.put_line('A');--把输出值放在括号里
ELSE
dbms_output.put_line('B');--否则输出B
END IF;
END;
DECLARE v_w EMP%rowtype;--取满足编号为7566的所有字段,%rowtyp横条记录类型
BEGIN
SELECT *INTO v_w--取所有字段
FROM EMP e
WHERE e.EMPNO=7566;
CASE v_w.sal --case语句
WHEN 1600 THEN dbms_output.put_line('C');
WHEN 2000 THEN dbms_output.put_line('A');
WHEN 3000 THEN dbms_output.put_line('B');
ELSE dbms_output.put_line('D');
END CASE;
END;
--loop循环 控制
DECLARE
v_e NUMBER:=1;
BEGIN
loop
dbms_output.put_line(v_e);
exit WHEN v_e>100;
v_e:=v_e+1;
end loop;
END;
DECLARE --另一种写法 结果一样
v_r NUMBER:=1;
BEGIN
while v_r<100 loop
dbms_output.put_line(v_r);
exit WHEN v_r>100;
v_r:=v_r+1;
end loop;
END;
begin
for v_t in (reverse) 1..100--从1-100 reverse 倒过来100-1
loop
dbms_output.put_line(v_t);
end loop;
end;
v_exception
--异常处理
--系统异常
DECLARE --错误处理
v_y emp%rowtype;
begin
select * into v_y
from emp e
where e.empno>8000;
dbms_output.put_line(v_y.sal);
EXCEPTION
when others THEN
dbms_output.put_line(sqlerrm);--当前错误信息,系统异常
end;
--自定义异常
DECLARE
v_u EMP%rowtype;
v_exception EXCEPTION;--自定义异常
BEGIN
SELECT *INTO v_u
FROM EMP e
WHERE e.EMPNO=7839;
IF v_u.sal <8000
THEN
raise v_exception;--引发异常
END IF;
EXCEPTION
WHEN v_exception THEN
dbms_output.put_line('加工资');
END;
v_q EMP.sal %type; --定义属性类型 type 若sal类型改变 v_q 也会相应改变 --定义变量v_q
BEGIN
SELECT e.SAL INTO v_q --取值放入v_q
from emp e
WHERE e.HIREDATE=TO_DATE('1981-02-20', 'yyyy-mm-dd');
if (v_q >2500)
THEN
--专门输出语句
dbms_output.put_line('A');--把输出值放在括号里
ELSE
dbms_output.put_line('B');--否则输出B
END IF;
END;
DECLARE v_w EMP%rowtype;--取满足编号为7566的所有字段,%rowtyp横条记录类型
BEGIN
SELECT *INTO v_w--取所有字段
FROM EMP e
WHERE e.EMPNO=7566;
CASE v_w.sal --case语句
WHEN 1600 THEN dbms_output.put_line('C');
WHEN 2000 THEN dbms_output.put_line('A');
WHEN 3000 THEN dbms_output.put_line('B');
ELSE dbms_output.put_line('D');
END CASE;
END;
--loop循环 控制
DECLARE
v_e NUMBER:=1;
BEGIN
loop
dbms_output.put_line(v_e);
exit WHEN v_e>100;
v_e:=v_e+1;
end loop;
END;
DECLARE --另一种写法 结果一样
v_r NUMBER:=1;
BEGIN
while v_r<100 loop
dbms_output.put_line(v_r);
exit WHEN v_r>100;
v_r:=v_r+1;
end loop;
END;
begin
for v_t in (reverse) 1..100--从1-100 reverse 倒过来100-1
loop
dbms_output.put_line(v_t);
end loop;
end;
v_exception
--异常处理
--系统异常
DECLARE --错误处理
v_y emp%rowtype;
begin
select * into v_y
from emp e
where e.empno>8000;
dbms_output.put_line(v_y.sal);
EXCEPTION
when others THEN
dbms_output.put_line(sqlerrm);--当前错误信息,系统异常
end;
--自定义异常
DECLARE
v_u EMP%rowtype;
v_exception EXCEPTION;--自定义异常
BEGIN
SELECT *INTO v_u
FROM EMP e
WHERE e.EMPNO=7839;
IF v_u.sal <8000
THEN
raise v_exception;--引发异常
END IF;
EXCEPTION
WHEN v_exception THEN
dbms_output.put_line('加工资');
END;
阅读全文
0 0
- pl查询
- PL /SQ查询语句
- PL/SQL SELECT 查询
- PL/SQL分页查询
- PL/SQL基础:阶层查询
- PL/SQL基础:阶层查询
- pl/sql update子查询
- PL/SQL 多表查询
- pl/sql查询中文乱码
- PL/SQL的高级查询
- pl/sql查询函数总结
- PL/SQL 高级语言查询
- pl/sql 子查询和连接查询
- PL/SQL查询出现乱码解决办法
- Oracle PL/SQL之WITH查询
- pl/sql查询中文乱码解决
- PL/SQL 链接Oracle12c查询乱码问题
- 解决PL SQL Developer 查询乱码问题
- (11)XML入门
- include<stdlib.h>与include“kdtree”的本质区别
- spring boot整合ElascticSearch
- python unittest测试框架介绍
- 【哈夫曼编码】
- pl查询
- 一元一次方程
- 剑指offer题解C++【5】用两个栈实现队列
- ServletContextListener的作用
- Postman工具——Pre-Request Script、Tests
- Scrapy爬取当当网的商品信息存到MySQL数据库
- apt-get update与apt-get upgrade区别
- nodejs-004JSMath函数/数组/表/字符串/常用接口
- 解决ubuntu+win10双系统循环进入启动界面导致无法启动win10的问题