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;
通过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;
从水果表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;
在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;