首页 > 数据库技术 > 详细

Oracle(变量定义、接收用户输入、if语句、循环语句)

时间:2020-02-29 15:21:09      阅读:62      评论:0      收藏:0      [点我收藏+]

PL/SQL(Procedure Language/SQL):是Oracle对sql语言的过程化扩展,在SQL语言的基础上增加了过程处理语言(分支、循环等),使得SQL语言具有过程处理能力,它是一种面向过程的语言。·

1、实现过程

declare:开头,后面是说明部分

说明部分:定义变量、光标申明、例外说明

程序:begin开始

dbms_output:存储过程(存储函数)

end:结束

2、打印Hello World

(1)书写程序:

技术分享图片

 

(2)打开数据库开关并运行重新:

技术分享图片

(3)在PL/SQL中运行:

技术分享图片

 

 技术分享图片

 

 3、定义引用型变量和变量的赋值

(1)引用型变量的定义:

pename emp.ename%type;
psal emp.sal%type;

例如:第一句话的意思是定义变量pename,该变量的数据类型和emp表的ename属性的数据类型保持一致。

(2)变量的赋值:

select ename,sal into pename,psal from emp where empno=7369;

将查询的的ename和sal的值分别赋值给变量pename和psal。

(3)程序:

declare 
pename emp.ename%type;
psal emp.sal%type;
begin
select ename,sal into pename,psal from emp where empno=7369;
dbms_output.put_line(pename||的薪水是||psal);
end;

技术分享图片

 

4、记录型变量

(1)定义记录型变量:

emp_rec emp%rowtype;

(2)程序:

declare 
emp_rec emp%rowtype;
begin
select * into emp_rec from emp where empno=7369;
dbms_output.put_line(emp_rec.ename||的薪水是||emp_rec.sal);
end;

技术分享图片

 

5、 if语句、接收用户输入:

(1)接收用户输入:

accept num prompt 请输入一个数字;

(2)if语句:

begin
  if pnum = 0 then dbms_output.put_line(您输入的数字是0);
    elsif pnum = 1 then dbms_output.put_line(您输入的数字是1);
      elsif pnum = 2 then dbms_output.put_line(您输入的数字是2);
        else dbms_output.put_line(您输入的是其他数字);
        end if;
end;

(3)完整程序:

set serveroutput on
accept num prompt 请输入一个数字;
declare 
pnum number :=#
begin
  if pnum = 0 then dbms_output.put_line(您输入的数字是0);
    elsif pnum = 1 then dbms_output.put_line(您输入的数字是1);
      elsif pnum = 2 then dbms_output.put_line(您输入的数字是2);
        else dbms_output.put_line(您输入的是其他数字);
        end if;
end;
/

6、循环语句

(1)while:

输出1-10:

declare
step number :=1;
begin
while step<=10
loop
dbms_output.put_line(step);
step:=step+1;
end loop;
end;

(2)for:

declare
step number :=1;
begin
for step in 1..10 loop
dbms_output.put_line(step);
end loop;
end;

 

Oracle(变量定义、接收用户输入、if语句、循环语句)

原文:https://www.cnblogs.com/zhai1997/p/12371097.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!