第五章 第五章 PL/SQL
SQL>set serveroutput on; --开启客户端输出
SQL>begin
2 dbms_output.put_line('世界、你好');
3 end;
4 /
-------------------------------------------------------------------------
变量输出
SQL>set serveroutput on;
SQL>declare(申明)
2 str(变量名) constant varchar(20) :='Oracle 11g'
3 begin
4 dbms_output.put_line(str);
5 end;
6 /
SQL>set serveroutput on; --开启客户端输出
SQL>begin
2 dbms_output.put_line('世界、你好');
3 end;
4 /
-------------------------------------------------------------------------
变量输出
SQL>set serveroutput on;
SQL>declare(申明)
2 str(变量名) constant varchar(20) :='Oracle 11g'
3 begin
4 dbms_output.put_line(str);
5 end;
6 /
-------------------------------------------------------------------
2013-03-06
判断语句
SQL> declare --申明变量
2 num integer :=1; --给变量赋值
3 begin --开始
4 if num<0 --如果num小于0
5 then dbms_output.put_line('负数'); --那么(then)num是负数
6 elsif num>0 --否则 num大于0 、
7 then dbms_output.put_line('正数');--那么num是正数
8 else --否则
9 dbms_output.put_line('0');--那么num是零
10 end if;
11 end;
12 /
正数
多层结构判断语句
SQL> declare
2 scooes integer :=80;
3 begin
4 if scooes>90
5 then
6 dbms_output.put_line('非常好');
7 elsif scooes >80
8 then
9 dbms_output.put_line('很好');
10 elsif scooes >70
11 then
12 dbms_output.put_line('不错');
13 elsif scooes >60
14 then
15 dbms_output.put_line('及格');
16 else
17 dbms_output.put_line('很差');
18 end if;
19 end;
20 /
不错
PL/SQL procedure successfully completed.
----------------------------------------------------------------------
选择语句
SQL> declare --申明
2 varday integer :=4; --给变量并且赋值
3 res varchar(20); --申明变量
4 begin --开始
5 res :=case varday --将arday对应的值赋给res
6 when 1 then '星期一' --在 varday 等于 1 的时候那么就是星期一
7 when 2 then '星期二' .........................
8 when 3 then '星期三' .........................
9 when 4 then '星期四'
10 when 5 then '星期五'
11 when 6 then '星期六'
12 when 7 then '星期天' --在 varday 等于 7 的时候那么就是星期天
13 end;
14 dbms_output.put_line(res);
15 end;
16 /
星期四
--------------------------------------------------------------------------
while循环语句
SQL> declare
2 v_num integer :=1;
3 v_sum integer :=0;
4 begin --开始
5 while v_num<11 loop --如果v_num小于11开始循环
6 v_sum :=v_sum+v_num; --将每次的值相加并且加上本身
7 dbms_output.put_line(v_num); --循环输出v_num的值
8 if v_num<11 --判断 如果v_num小于的11、
9 then dbms_output.put_line('+'); --那么每次打印一个+
10 end if; --判断结束 if和end if成对出现
11 v_num :=v_num+1; --每次让v_num自加1
12 end loop; --循环结束 while 条件表达式 loop和end loop成对出现
13 dbms_output.put_line('='); --循环结束 输出符号
14 dbms_output.put_line(v_sum); --最后打印结果值
15 end; --结束 begin和end成对出现
16 /
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
=
55
PL/SQL procedure successfully completed.
----------------------------------------------------------
for循环语句
SQL> declare
2 v_num integer ; --申明变量
3 v_sum integer :=0; --申明变量并且赋值
4 begin --开始
5 for v_num in 1..10 loop --循环开始 for 条件(1..10)从1开始、10结束
6 v_sum :=v_sum+v_num; --把每次的和相加
7 dbms_output.put_line(v_num); --循环输出v_num的值
8 if v_num<10 --如果v_num小于10的情况下
9 then --那么
10 dbms_output.put_line('+'); --循环输出+
11 end if; --if和end if成对、出现
12 end loop; --循环结束
13 dbms_output.put_line('=');
14 dbms_output.put_line(v_sum);
15 end; --命令结束 begin和end成对出现
16 /
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
=
55
PL/SQL procedure successfully completed.
-----------------------------------------------------------
异常
SQL> declare --申明
2 x number; --申明变量
3 begin --开始
4 x :='A123'; --给变量赋值
5 exception --异常捕捉开始
6 when value_error --在value的值错在错误
7 then --那么
8 dbms_output.put_line('错误'); --输出错误
9 end; --结束
10 /
错误
PL/SQL procedure successfully completed.
-------------------------------------------------
简单查询
SQL> declare
2 sumsal emp.sal%type; --申明一个变量 emp.sal%type(判断数据类型)
3 begin --开始
4 select sum(sal) into sumsal from emp group by deptno having deptno=30;--查询数据。将查到的数据放到变量中(sum(sal)[查到的数据] into sumsal[变量])
5 if sumsal > 5000 then --如果 查到的工资少于5000 那么.....
6 dbms_output.put_line('部门30的工资已经超出了预算,共'||sumsal);--提示超出预算、
7 end if; --if和end if成对出现
8 end; --结束
9 /
部门30的工资已经超出了预算,共9400
***********************************************
SQL> declare
2 s_ename emp.ename%type; --设置变量的数据类型
3 s_job emp.job%type;
4 s_sal emp.sal%type;
5 begin
6 select ename,job,sal into s_ename,s_job, s_sal from emp where empno=7902; --将查到的数据放到变量中ename,job,sal (前面都是查到的数据)into s_ename,s_job, s_sal(变量)
7 dbms_output.put_line('该员工姓名 '||s_ename||' 职位 '||s_job||' 工资 --字符串之间用||拼接
'||s_sal);
8 end; --结束
9 /
该员工姓名 FORD 职位 ANALYST 工资 3000
***************************************************
简单的比较
SQL> declare
2 t_sal emp.sal%type; --判断数据类型
3 begin
4 select sal into t_sal from emp where empno=7369; --查询数据放到变量中sal[查到的数据] into t_sal[变量]
5 case --case表示有以下几种结果
6 when t_sal <1000 --在t_sal小于1000
7 then --那么
8 dbms_output.put_line('低工资'); --输出提示
9 when t_sal >=1000 and t_sal < 3000--在t_sal大于1000小于3000
10 then --那么
11 dbms_output.put_line('一般工资'); --输出提示
12 else --否则
13 dbms_output.put_line('高工资'); --输出提示
14 end case; --case和case end成对
15 end;
16 /
低工资
PL/SQL procedure successfully completed.
分享到:
相关推荐
### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
Oracle PL/SQL是一种强大的编程语言,它将关系数据库的强大功能与结构化编程的优点结合在一起,是Oracle数据库系统中不可或缺的一部分。在"Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本"中,读者可以深入...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...
Oracle PL/SQL 是Oracle数据库系统中的过程化语言,它结合了SQL查询功能和高级编程特性,使得开发者可以创建复杂的数据库应用程序。在Oracle 11g R2版本中,PL/SQL与SQL Developer一起使用,提供了丰富的开发环境来...
《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...
### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 - **书名**:Oracle PL/SQL Programming(第五版) - **作者**:Steven Feuerstein 和 Bill Pribyl - **出版日期**:2009年10月1日 - **出版社**:...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和PL(过程化语言)的程序设计特性,是Oracle数据库系统中的核心组件之一。《精通Oracle PL/SQL》这本书深入探讨了这个语言的...
《Oracle PL/SQL by Example(4th Edition)》是一本专为Oracle数据库用户设计的PL/SQL编程指南,尤其适合那些希望通过实践学习这一强大的过程式语言的开发者。本书的第四版详细介绍了Oracle PL/SQL的各种核心概念和...
Oracle PL/SQL最佳实践 Oracle PL/SQL是一种强大的编程语言,用于在Oracle数据库环境中构建复杂的业务逻辑和数据处理任务。Steven Feuerstein,被誉为Oracle PL/SQL语言的大师,分享了他在这一领域的关键最佳实践和...
Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...
Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...
《ORACLE PL/SQL 程序设计(第五版)》是Oracle数据库开发领域的一本经典教程,专注于讲解如何使用PL/SQL这一强大的过程化语言进行数据库编程。这本书旨在帮助读者掌握PL/SQL的基本概念、语法和高级特性,以便在实际...