Oracle PL / SQL 9i / 10g-示例程序

示例PL / SQL程序

=====================

打印偶数1--100

BEGIN
FOR I IN  1..100 LOOP
--if the number is divisible by 2 then it is a even number.
IF MOD(I,2)=0 THEN 
--display the number.
dbms_output.put_line(I);
END IF;
END LOOP;
END; 
示例程序以反转数字

DECLARE
MNUM INTEGER;
MREV  INTEGER:=0;
BEGIN
MNUM:=&MNUM;
WHILE(MNUM>0) LOOP
MREV:=MREV*10 +MOD(MNUM,10);
MNUM:=TRUNC(MNUM/10);
END LOOP;
DBMS_OUTPUT.PUT_LINE('THE REVERSE IS: '||MREV);
END; 
显示使用XOR(异或)的示例程序

DECLARE
I BOOLEAN:=FALSE;
J BOOLEAN:=FALSE;
K BOOLEAN;
BEGIN
K:=XOR(I,J);
IF K=TRUE THEN
DBMS_OUTPUT.PUT_LINE('TRUE');
ELSE
DBMS_OUTPUT.PUT_LINE('FALSE');
END IF;
END; 
显示使用EXECUTE IMMEDIATE的示例程序

declare
tablename varchar2(100):='&tablename';
rows_deleted number;
str varchar2(30);
begin
str := 'delete  from ';
str :=str||tablename;
execute immediate str;
rows_deleted:=sql%rowcount;
dbms_output.put_line(to_char(rows_deleted));
end; 
反向程序的示例程序

declare
i varchar2(20):='&i';
j varchar2(20);
k int;
l int;
begin
k:=length(i);
for l in reverse 1..k loop
j:=j||substr(i,l,1);
end loop;
dbms_output.put_line(j);
end; 
示例程序以打印阿姆斯壮数字

DECLARE
A NUMBER;
B NUMBER;
BEGIN
FOR I IN 1..500 LOOP
A:=I; 
B:=0;
LOOP
EXIT WHEN A<=0;
B:=B+POWER(MOD(A,10),3);
A:=TRUNC(A/10);
END LOOP;
IF B=I THEN
DBMS_OUTPUT.PUT_LINE(I||' IS ARMSTRONG NUMBER');
END IF;
END LOOP;
END; 
一些样本代码

declare type nn is table of number index by pls_integer;
 mm nn;
 n number:=1;
 s number:=1;
 begin
 for rec in (select empno from emp) loop
 mm(n):=rec.empno;
 n:=n+1;
 end loop;
 while s<n loop
 dbms_output.put_line(mm(s));
 s:=s+1;
 end loop;
 end ; 

From: https://bytes.com/topic/oracle/insights/739015-oracle-pl-sql-9i-10g-sample-programs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值