oracle实验 对于简单pl/sql语句使用,包括循环判断,以及给sql语句赋值

set serveroutput on;
declare
num number(8);
begin
num:=86+20*3-10000;
if(num>0) then
dbms_output.put_line(num);
else
dbms_output.put_line(-num);
end if;
end;

计算表达式(86+20×3-152)的绝对值

SET SERVEROUTPUT ON 命令与DBMS_OUTPUT.PUT_LINE 说明: 在SQLPlus中运行PL/SQL块前,如果要将执行结果输出,需要先执行 SET SERVEROUTPUT ON 命令,在窗口里显示服务器输出信息。再用dbms_output.put_line()语句输出变量值,注意SET SERVEROUTPUT ON需写在DECLARE之前,。

2、计算(86+20×3-152)的绝对值,然后判断该值是否大于80,将对应的结果输出

set serveroutput on;
declare
num number(8);
begin
num:=abs(86+20*3-152);
if(num>80) then
 
dbms_output.put_line('绝对值大于80,为:'||num);
else
dbms_output.put_line('绝对值小于80,为:'||num);
end if;
end;

根据不同的学习成绩,输出对应的成绩界别:小于60为不及格,60到70(不含)为及格,70到85(不含)为良好,大于85为优秀。88分为哪一级?

declare
num number(8);
begin
num:=88;
if(num<60) then
 dbms_output.put_line('成绩不及格');
elsif(num >= 60 and num < 70) then
dbms_output.put_line('及格');
elsif(num >= 70 and num < 85) then
dbms_output.put_line('良好');
else
dbms_output.put_line('优秀');
end if;
end;

image-20210507113727130

通过LOOP循环,从10开始实现每次循环都让变量递减2,直到变量的值小于1,然后终止循环。

declare
num number(8):=10;
begin
while num >= 1 loop
dbms_output.put_line(num);
num:=num-2;
end loop;
end;

image-20210507114333686

从水果表FRUITS中查询产品名称为apple对应的产品编码,并将编码存储到变量v_ss_id中,最后输出的屏幕上,运行结果如下:apple对应的编码是:101

新建表fruits并输入数据
首先定义数据表,输入语句如下:
CREATE TABLE fruits
(
f_id    varchar2(10)     	NOT NULL,
s_id    number(6)        	NOT NULL,
f_name  varchar(255)  	NOT NULL,
f_price number (8,2)  	NOT NULL
);
为了演示如何使用SELECT语句,需要插入如下数据:
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES  ('a1', 101,'apple',5.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('b1',101,'blackberry', 10.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('bs1',102,'orange', 11.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES('bs2',105,'melon',8.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('t1',102,'banana', 10.3);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('t2',102,'grape', 5.3);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('o2',103,'coconut', 9.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES  ('c0',101,'cherry', 3.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES  ('a2',103, 'apricot',2.2);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES('l2',104,'lemon', 6.4);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('b2',104,'berry', 7.6);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES ('m1',106,'mango', 15.6);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES  ('m2',105,'xbabay', 2.6);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES  ('t4',107,'xbababa', 3.6);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES  ('m3',105,'xxtt', 11.6);
INSERT INTO fruits (f_id, s_id, f_name, f_price) VALUES('b5',107,'xxxx', 3.6);

 select  s_id from fruits where f_name ='apple'; //单纯查询语句测试过了

declare
v_ss_id number(6);
v_f_name varchar(255):='apple';
begin
 select  s_id into v_ss_id 
 from fruits 
 where f_name =v_f_name;
 dbms_output.put_line('apple对应的编码是:'||v_ss_id);

exception
when others then dbms_output.put_line('其他异常');

end;

image-20210507123950013

在fruits表中,用CASE语句找到水果编号对应的水果名称,然后输出到屏幕(简单的case语句)

declare
v_f_id varchar2(10):='a1';
v_f_name varchar(255):='apple';
begin

case v_f_id
when 'b1'   then  dbms_output.put_line('blaceberry');
when 'a1'   then  dbms_output.put_line('苹果');
else dbms_output.put_line('没有这个水果');
end case;
exception
when others then dbms_output.put_line('其他异常');

end;

image-20210507125237391

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀才大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值