create or replace procedure pr_test1 is

v_case number(3) := 100;--定义变量

begin
-- /*判断语句
if 2>1 then
dbms_output.put_line('条件成立');
else
dbms_output.put_line('条件不成立');
end if; if 2<1 then
dbms_output.put_line('条件成立'); elsif 4>3 then
dbms_output.put_line('条件不成立1');
end if; elsif 4 > 2 then
dbms_output.put_line('条件不成立2'); elsif 7>3 then
dbms_output.put_line('条件不成立3'); end if;
-- */ case v_case --定义v_case when 1 then --当v_case为1时
dbms_output.put_line('条件成立12');--输出 when 100 then
dbms_output.put_line('条件成立112'); else--其他匹配都不成立时
dbms_output.put_line('条件不成立,条件不匹配!');
end case; case
when 8>7 then
dbms_output.put_line('8>7成立');
when 9>8 then
dbms_output.put_line('9>8成立');
else
dbms_output.put_line('都不成立');
end case; <<loop1>>--标签,只是为了标注退出的是循环loop1
loop
v_case := v_case - 1;
dbms_output.put_line('v_case的值 = '||v_case);
--if(v_case = 90) then
--dbms_output.put_line('退出循环');
exit loop1 when v_case = 90; --end if; end loop; while v_case >80
loop
v_case :=v_case - 1;
dbms_output.put_line('v_case的值 = '||v_case);
end loop; for inx in 1..20 loop--定义一个变量从1开始一直到20
v_case := v_case + inx;
dbms_output.put_line('v_case的值 = '||v_case);
end loop; for inx in reverse 1..20 loop--从大到小开始,从20开始一直到1
v_case := v_case + inx;
dbms_output.put_line('v_case的值 = '||v_case);
end loop; end pr_test1;

if判断语句 case语句 循环语句使用方式

create or replace procedure pr_test5 is
begin
update t_hq_ryxx set bumbm = '' where bumbm is null;--where 是判断条件 if sql%rowcount > 0 then
dbms_output.put_line('更新了 '||sql%rowcount||' 条记录');
else
dbms_output.put_line('更新了 0 条记录');
end if;
commit;--提交语句
end pr_test5;

数据的更新操作

--通过输入编号进行相关内容的匹配,匹配成功后输出相关内容
create or replace procedure pr_test3(v_bh in varchar2,v_xx in out varchar2) is
begin
--定义输入输出xingm变量为v_xm 并将bianh为变量v_bh ,输入的是编号,与bumbm匹配才可以输出配上的姓名
select xingm into v_xx from t_hq_ryxx where bianh = v_bh and bumbm = v_xx;
if sql%found then
dbms_output.put_line('查找到le数据!');
else
dbms_output.put_line('未查找到数据');
end if;
exception
when no_data_found then dbms_output.put_line('未查找到数据'); dbms_output.put_line('sqlcode:'||sqlcode);--错误代码
dbms_output.put_line('sqlerrm:'||sqlerrm);--错误信息 when others then dbms_output.put_line('查找出错'); dbms_output.put_line('sqlcode:'||sqlcode);--错误代码
dbms_output.put_line('sqlerrm:'||sqlerrm);--错误信息
end pr_test3; create or replace procedure pr_test4(v_bh in varchar2) is
v_xm t_hq_ryxx.xingm%type;
begin
v_xm :='';
pr_test3(v_bh,v_xm);
dbms_output.put_line(''||v_xm);
end pr_test4;

oracle子程序数据关联及异常处理

oracle基础代码使用的更多相关文章

  1. Oracle基础学习笔记

    Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时 ...

  2. Mysql基础代码(不断完善中)

    Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...

  3. oracle基础教程(8)oracle修改字符集

    oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...

  4. 图说Oracle基础知识(一)

    本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...

  5. 如何保障Go语言基础代码质量?

    为什么要谈这个topic? 实践中,质量保障体系的建设,主要针对两个目标: 一是不断提高目标业务测试覆盖率,保障面向客户的产品质量:二就是尽可能的提高人效,增强迭代效率.而构建全链路质量卡点就是整个体 ...

  6. oracle基础教程oracle客户端详解

    oracle基础教程oracle客户端工具详解 参考网址:http://www.oraclejsq.com/article/010100114.html 该教程介绍了oracle自带客户端sqlplu ...

  7. Oracle基础 表分区

    Oracle基础 表分区 一.表分区 (一)表分区的分类 1.范围分区(range) 2.散列分区(hash) 3.列表分区(list) 4.复合分区:范围-哈希(range-hash).范围-列表( ...

  8. Oracle基础了解

    数据库: 关系型数据库 select * from 表名 非关系型数据库(做不到复杂查询) 以对象的形式进行存储 {"aaa":"ccc"}---键值对 ora ...

  9. oracle数据库代码块

    --申明变量.游标 declare a ):'; --逻辑 begin INSERT into TEMP_DSF.TEST VALUES (a); end; tips:mysql不支持匿名块.仅在存储 ...

随机推荐

  1. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...

  2. UVALive 3635 Pie 切糕大师 二分

    题意:为每个小伙伴切糕,要求每个小盆友(包括你自己)分得的pie一样大,但是每个人只能分得一份pie,不能拿两份凑一起的. 做法:二分查找切糕的大小,然后看看分出来的个数有没有大于小盆友们的个数,它又 ...

  3. wcf系列学习5天速成——第五天 服务托管

    今天是系列的终结篇,当然要分享一下wcf的托管方面的知识. wcf中托管服务一般有一下四种: Console寄宿:             利于开发调试,但不是生产环境中的最佳实践. winform寄 ...

  4. bootstrap-js(3)滚动监听

    导航条实例 ScrollSpy插件根据滚动的位置自动更新导航条中相应的导航项. 拖动下面区域的滚动条,使其低于导航条的位置,注意观察active类的变化.下拉菜单中的子项也会跟着变为高亮状态. 1.调 ...

  5. SQL Server表和字段说明的增加和更新

    1. 增加字段说明 EXEC sp_addextendedproperty     'MS_Description',     'some description',     'user',      ...

  6. JS控制静态页面之间传递参数获取参数并应用

    在项目中遇到这也一个问题: 有a.html和b.html. 1.a页面已经打开,b页面尚未打开,我希望在a页面设置好一些列参数,比如背景色,宽度等参数,传递给b页面,好让b页面在打开就能应用. 2.a ...

  7. Linux学习之nfs安装配置

    安装疑难问题: 1.检查系统是否开启nfs服务:service nfs status 结果显示nfs: unrecognized service,说明系统没有安装nfs服务,so 安装之: 注意,yu ...

  8. Android DatePicker和TimePicker

    监测日期改变的监听器:      OnDateChangedListener和OnTimeChangedListener()           当用户改变Datepicker里的年.月.日时,将触发 ...

  9. [[转]CSS浮动原理

    CSS Float是网页设计最强大的灵活性功能之一.本文介绍CSS Float的基本原理和行为特征,并介绍各种浏器Float特性的Bugs. 内容 基本的浮动原理 浮动是如何进行的 浮动从何处开始 水 ...

  10. ueditor插件 -- 插入填空题

    插入填空题,一个看似小小的需求,但是却是折腾了很9.主要产品那边的要求,空格上面要标有序号,并且再页面当中能够同步空格答案列表. 1.ueditor插件 插件入门,官方的例子还是很简单直接的,对于我们 ...