oracle 适合新手看的case分支结构代码

来源:互联网 发布:淘宝大学校园图片 编辑:程序博客网 时间:2024/05/06 06:35

我百度了好多有关oracle中case的搜索答案,有些是所答非我所问,所以我就把我的代码拿出来给新手看看,因为我现在也是新手,所以我相信大家都能看懂

代码如下

declare
       v_id        book.b_id%TYPE; --定义变量,book.b_id%TYPE的意思就是和book表中的b_id的类型一样
       v_num      book.b_num%TYPE;
       v_status    varchar(50);--这个就是最简单的定义变量的方法了
begin
       select b_id,b_num  --查询b_id和b_num
       into v_id,v_num    --into是将b_id和b_num放到这两个变量中
       from book
       where b_id=&v_id;  --这里的&id就是弹出输入框输入id
       case v_num    --case后面的v_num就是将其与when后面的数进行匹配
         when '50' then
           v_status:='图书不够了,该进货了';   --如果匹配成功就执行
         when '100' then
           v_status:='图书还是满库存,不需要进货';
         else
           v_status:='未知数量';  --匹配不成功就执行的语句
       end case;
       dbms_output.put_line('图书id:'||v_id||'|图书库存状态:'||v_status);  --输出语句,这是固定写法,输出的语句在pl/sql中的输出中查看
end;

数据库中表的代码如下:

create table BOOK(
b_id number primary key,--主键
b_name varchar(50) not null,--书名不能为空
b_type varchar(50),--图书类型
b_writer varchar(20),--图书作者
b_data date ,--出版日期
b_num number check(b_num>0),--数量必须大于0
b_press varchar(50)--出版社名称
);


添加数据的代码:

--添加信息
insert into book values(1,'鲁滨逊漂流记','记事','鲁滨逊',sysdate,100,'中华出版社');
insert into book values(2,'巴黎圣母院','情感','维克多.雨果',sysdate,50,'清华大学出版社');
insert into book values(3,'红楼梦','历史','曹雪芹',sysdate,100,'中华出版社');
insert into book values(4,'三国演义','战争','罗贯中',sysdate,50,'清华大学出版社');
insert into book values(5,'西游记','神话','吴承恩',sysdate,100,'中华出版社');
insert into book values(6,'水浒传','情感','施耐庵',sysdate,50,'清华大学出版社');
insert into book values(7,'鲁滨逊漂流记','记事','鲁滨逊',sysdate,100,'中华出版社');
insert into book values(8,'巴黎圣母院','情感','维克多.雨果',sysdate,50,'清华大学出版社');
insert into book values(9,'红楼梦','历史','曹雪芹',sysdate,100,'中华出版社');
insert into book values(10,'三国演义','战争','罗贯中',sysdate,50,'清华大学出版社');
insert into book values(11,'西游记','神话','吴承恩',sysdate,100,'中华出版社');
insert into book values(12,'水浒传','情感','施耐庵',sysdate,50,'清华大学出版社');


支持原创,希望大家多多关注http://blog.csdn.net/caizhige123/article/details/17462571

0 0
原创粉丝点击