PL/SQL 编程语言(Procedure language/SQL)
大数据 方向发展 两个框架:
hadoop ---- 》 java
spark -------》scala
PLSQL是对sql 语言的过程化扩展,指在SQL命令语言中增加了过程处理语句(如分支(if...else),循环)使sql语言具有过程处理能力了,把SQL语言中的数据操纵能力与过程语言的数据处理能力结合起来, 是的plsql面向过程但是比面向过程简单灵活高效, 和实用
PL/SQL效率最高,相比jdbc sql99,plsql 可以写sql语句
1.hello world
plsql 程序,以declare 开头 begin 开始 end 结束, 中间写程序代码
plsql 中的程序包相当于java中提供的api , 方法叫做存储过程
oracle 默认输出开关是关闭的我们需要打开 set serveroutput on ;
SQL> declare 2 -- 说明部分 3 begin 4 -- 程序
SQL> set serveroutput on ;
5 dbms_output.put_line('Hello World'); 6 end; 7 /
SQL> /
在命令行中看plsql文档
desc 后面跟plsql 中的包就可以看到所有的存储过程
变量
plsql中的 := 相当于java中的= , plsql 中的= 相当于==
在plsql 中赋值的两种方式 := 和 into 进行赋值
说明变量 char varchar2 date number boolean
引用型变量 emp.ename%type 类型和表的这个列的类型相同
记录型变量 emp%rowtype 把所有列的类型进行封装,然后通过. 调用
常量 ,在变量名称和变量类型之间加上关键字, constant
分支
if语句
if 条件语句 then 语句
orcale sql developer 这个程序是基于jdbc 的一个数据库操作软件
--接受键盘输入 --变量num:是一个地址值,在该地址上保存了输入的值 accept num prompt '请输入一个数字'; declare --定义变量保存输入 的数字 pnum number := # begin if pnum = 0 then dbms_output.put_line('您输入的是0'); elsif pnum = 1 then dbms_output.put_line('您输入的是1'); elsif pnum = 2 then dbms_output.put_line('您输入的是2'); else dbms_output.put_line('其他数字'); end if; end; /
判断用户输入的数字
循环
1 .第一个中循环方式(推荐使用)
loop
exit when 条件
end loop ;
2. 第二种方式
for i in 1...3
loop
语句序列
end loop ;
3. 第三种方式
while total < = 250000
loop
.....
tatal :=total +salary
end loop ;