数据库-Oracle-plsql(一)
2013-12-23 17:49
141 查看
---------------------目录------------------
一、数据类型
二、一些常用语法
三、控制语句及例子
四、游标
五、函数和存储过程
六、包的创建和调用
-------------------------------------------
基础知识:
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;
例子:
2)declare (变量声明、初始化) begin(业务逻辑处理代码)exception(异常捕获)end;
2、判断语句
1)if ..(条件表达式)....then ....(业务逻辑处理)....end if;
如:
2)多分支
if <条件表达式> then
...(业务逻辑处理)...
else if <条件表达式> then
...(业务逻辑处理).....
else
...(业务逻辑处理).....
end if;
end if;
例子:
注意:有多少个if就有多少个end if;
3、循环语句
1)loop循环语法:
loop ..(逻辑处理)....; exit when <表达式>; end loop;
例子:
2)while循环语法:
while <表达式> loop ...(逻辑处理)...; end loop;
例子:
3)for循环语句
for <变量> in <变量取值范围(小值..大值,如1..100)> loop end
loop;
例子:
3)case语句
case ...
when ...
then...;
when ...
then ...;
end case;
四、游标
1、作用
定位结果集的一个元素对象的位置,从而可以获得该元素对象的信息。
2、游标的属性:
%isopen 判断游标是否打开;
%notfound 当前的FETCH操作没有返回数据行时,为true,否则为false;
%found 与上述相反;
%rowcount 返回游标的记录数量;
3、游标的使用:
step1 声明游标
step2 打开游标
step3 获取游标制定的数据
step4 关闭游标
例子一:
例子二:游标和for一起使用,隐式游标(不需要open fetch 和close)
一、数据类型
二、一些常用语法
三、控制语句及例子
四、游标
五、函数和存储过程
六、包的创建和调用
-------------------------------------------
基础知识:
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 4000 then dbms_output.put_line('count == 0'); else if rowcount = 1 then dbms_output.put_line('count == 1'); else rowcount > 1 then dbms_output.put_line('count > 1'); end if; end if; commit; end;
注意:有多少个if就有多少个end if;
3、循环语句
1)loop循环语法:
loop ..(逻辑处理)....; exit when <表达式>; end loop;
例子:
declare num NUMBER(2) := 0; begin loop num := num + 1; dbms_output.put_line('loop end'); exit when num = 10; end loop; end;
2)while循环语法:
while <表达式> loop ...(逻辑处理)...; end loop;
例子:
declare num NUMBER(2) := 0; begin while num < 10 loop dbms_output.put_line('loop .....'); num := num + 1; end loop; end;
3)for循环语句
for <变量> in <变量取值范围(小值..大值,如1..100)> loop end
loop;
例子:
declare num NUMBER(2) := 0; begin for num in 1..9 loop dbms_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的使用与示例
- PLSQL无法连Oracle 11g接数据库--问题解决
- 利用oracle instant client,不安装客户端使用plsql远程连接数据库
- 本地不安装Oracle,plsql远程连接数据库
- plsql连接oracle 64位数据库ORA-12514错误
- 解决WIN7 64位 plsql 连接数据库报Make sure you have the 32 bits Oracle Client installed
- plsql登录数据库出错,ora-01034:oracle not available ora-27101: shared memory realm does not exis
- 本地不安装Oracle,使用plsql远程连接数据库
- 不安装Oracle客户端使用PLSQL连接数据库
- 不安装oracle使用PLSQL连接数据库
- oracle/plsql中创建数据库链路和视图的过程
- 用sqlplus和plsql无法连接Oracle数据库系统问题
- PLSQL ORACLE 数据库解锁
- win7,win8 下PLSQL developer 连接不上64位Oracle 的解决方法 不安装orcal 使用PLSQL的组件 使用它可以不安装oracle连接数据库
- plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法
- PLSQL 无法连接oracle 数据库
- 本机安装oracle的条件下如何用plsql远程连接数据库
- 本地不安装oracle,plsql远程连接数据库
- 通过plsql查询当前连接的数据库的配置情况,如查询oracle的安装地址,和oracle的tns配置