oracle之PLSQL小习题

--求n的阶乘
declare
n number:=&n;
s number:=1;
i number:=1;
sums number:=0;
begin
    for i in 1..n loop
    s:=s*i;
    sums:=sums+s;
    end loop;
    dbms_output.put_line(n||'的阶乘为:'||s);
     dbms_output.put_line(n||'的阶乘和为:'||sums)
    end;


--编写一个程序,输入一个整数,使用循环结构将该数字左右翻转,输出翻转后的结
--果。

方法一:
 SELECT reverse('123456') FROM dual;

方法二:(符合题目要求用到循环)
declare
n1 number:=&n1;
n varchar2(100):=to_char(n1);
s number:=length(n);
str varchar2(100):='';
i number:=1;
begin
  for i in reverse 1..s loop
   str:=str||substr(n,i,1);
   end loop;
   dbms_output.put_line(str);
   end;

 

--编写一个程序,在 EMP 表查找姓名为 ALLEN 员工,并获取 TOO_MANY_ROWS 和
--NO_DATA_FOUND 异常。
declare
myename emp.ename%type;

begin
  select ename into myename from emp where ename='aLLEN';
  dbms_output.put_line(''||myename);
  exception
    when TOO_MANY_ROWS then
       dbms_output.put_line('记录过多');
    when NO_DATA_FOUND then
      dbms_output.put_line('无记录');
  end;

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值