数据库-Oracle-plsql(一)
来源:互联网 发布:逆光源网络剧免费观看 编辑:程序博客网 时间:2024/06/05 22:53
---------------------目录------------------
一、数据类型
二、一些常用语法
三、控制语句及例子
四、游标
五、函数和存储过程
六、包的创建和调用
-------------------------------------------
基础知识:
DDL语句:数据定义语言 如:createdropalter;
DML语句:数据操作语言 如:update insert delete;
DCL语句:数据库控制语言 如:grant;
DCL语句:数据库查询语言 如:select;
一、数据类型
整数 v_num number(5);
浮点数 v_floatnum number(6, 2);
字符串变长 v_name varchar2(20):='TEST';
字符串固定长 v_hello char(10);
布尔值 v_flag boolean;
二、一些常用的语法
%type 提取字段的类型
%rowtype 提取表所有字段的类型
%type 关键字,相当于定义一个结构体
三、控制语句及例子
1、语句块
1)declare (变量声明、初始化) begin(业务逻辑处理代码)end;
例子:
declare rowcount number(5);begin select count(*) into rowcount from testtable;commit;end;
2)declare (变量声明、初始化) begin(业务逻辑处理代码)exception(异常捕获)end;
2、判断语句
1)if ..(条件表达式)....then ....(业务逻辑处理)....end if;
如:
declare rowcount number(5);begin select count(*) into rowcount from testtable; if rowcount = 0 then dbms_output.put_line('error'); end if; commit;end;
2)多分支
if <条件表达式> then
...(业务逻辑处理)...
else if <条件表达式> then
...(业务逻辑处理).....
else
...(业务逻辑处理).....
end if;
end if;
例子:
declare rowcount number(5);begin select count(*) into rowcount from testtable; if rowcount = 0 then dbms_output.put_line('count == 0'); else if rowcount = 1 thendbms_output.put_line('count == 1');else rowcount > 1 thendbms_output.put_line('count > 1'); end if; end if; commit;end;
注意:有多少个if就有多少个end if;
3、循环语句
1)loop循环语法:
loop ..(逻辑处理)....; exit when <表达式>; end loop;
例子:
declarenum NUMBER(2) := 0;begin loopnum := num + 1;dbms_output.put_line('loop end');exit when num = 10;end loop;end;
2)while循环语法:
while <表达式> loop ...(逻辑处理)...; end loop;
例子:
declarenum NUMBER(2) := 0;begin while num < 10 loopdbms_output.put_line('loop .....');num := num + 1;end loop;end;
3)for循环语句
for <变量> in <变量取值范围(小值..大值,如1..100)> loop end loop;
例子:
declarenum NUMBER(2) := 0;begin for num in 1..9 loopdbms_output.put_line('loop .....');num := num + 1;end loop;end;
3)case语句
case ...
when ...
then...;
when ...
then ...;
end case;
四、游标
1、作用
定位结果集的一个元素对象的位置,从而可以获得该元素对象的信息。
2、游标的属性:
%isopen 判断游标是否打开;
%notfound 当前的FETCH操作没有返回数据行时,为true,否则为false;
%found 与上述相反;
%rowcount 返回游标的记录数量;
3、游标的使用:step1 声明游标
step2 打开游标
step3 获取游标制定的数据
step4 关闭游标
例子一:
declare cursor res is select * from testtable;begin open res; loop fetch res into iterm; exit whenres%notfound; dbms_output.put_line(iterm.name); end loop; close res;end;
例子二:游标和for一起使用,隐式游标(不需要open fetch 和close)
declare cursor res is select * from testtable;begin for iterm in res loop dbms_output.put_line(iterm.name); end loop;end;
- 数据库-Oracle-plsql(一)
- 数据库-Oracle-plsql(二)
- 数据库-Oracle-plsql(三)
- PLSQL连接oracle数据库
- PLSQL ORACLE 数据库解锁
- plsql连接oracle数据库
- Oracle数据库(十)PLSQL
- PLSQL连接oracle数据库
- oracle之PLSql语言(一)
- oracle plsql学习一
- plsql developer连接oracle数据库
- Plsql连接服务器端Oracle数据库
- PLSQL连接远程oracle数据库
- 怎样用PLSQL连接Oracle数据库
- plsql导入导出oracle数据库
- PLSQL连接oracle数据库配置
- Oracle数据库培训-PLSQL编程
- 用PLsql连接oracle数据库
- web通过QQ再线客服聊天
- Android 跳转到第三方应用
- 一个小sql的问题记录 对分析函数的应用
- 算法之旅,直奔<bitset>之二 size
- maven 配置
- 数据库-Oracle-plsql(一)
- 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径(分享)
- java invoke 反射的使用方法
- 使用DirectSound进行PCM声音采集
- 新浪微博的Tab滑动效果
- 利用 Cache_Lite代替codeigniter中的cache功能, --- ci 缓存扩展
- Navicat for mysql、SQL Server、Oracle
- valgrind -- 安装 -- 缺少 libc6-dbg
- Cookie跨域操作