欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle 编程

程序员文章站 2022-12-21 23:09:02
into用法: DECLARE a NUMBER; b number; c number;BEGIN SELECT MAX(SAL),MIN(SAL),AVG(SAL) INTO A,B,C FROM EMP; DBMS_OUTPUT.PUT_LINE('最高工资:'|| a); DBMS_OUTP ......

 

 

into用法:

declare
a number;
b number;
c number;
begin
select max(sal),min(sal),avg(sal) into a,b,c from emp;
dbms_output.put_line('最高工资:'|| a);
dbms_output.put_line('最低工资:'|| b);
dbms_output.put_line('平均工资:'|| c);
end;

oracle 编程

 

if语句

 

declare
  score number := 90;
begin
  if score < 60 then
    dbms_output.put_line ( '你有些落后了,还不快追上' );
  elsif score < 80 then
    dbms_output.put_line ( '成绩一般,要加把劲.' );
  else

    dbms_output.put_line ( '你很优秀' )

end if;


end;

oracle 编程

 

 

 oracle 编程

oracle 编程

select product_id,product_type_id,
case
when product_type_id=1 then '图书类'
when product_type_id=2 then '服装类'
when product_type_id=3 then '日用类'
when product_type_id=4 then '电器类'
else '其它分类'
end case;
from products

 

 

oracle 编程

oracle 编程

 

declare
  score number := 70;
begin
  case
    when score > 80 then
      dbms_output.put_line ( '优秀' );
    when score > 60 then
      dbms_output.put_line ( '一般' );
    else
      dbms_output.put_line ( '待努力' );
  end case;
end;

 oracle 编程

oracle 编程

declare
  a integer := 10;
  total integer := 1;
begin
  loop
    total := total*a;
    a:=a-1;
    exit when a=1;
  end loop;
dbms_output.put_line('10*9*...*2*1='||total);
end;

oracle 编程

oracle 编程

例如:1.计算198-273之和
  

declare
  a integer;
  tot integer:=0;
begin
  for a in 198..273 loop
    tot:=a+tot;
  end loop;
dbms_output.put_line('198+199+...+273='||tot);
end;

 2.又如打印九九乘法表

declare
  a integer;
  b integer;
  c integer;
begin
  for a in 1..9 loop
    for b in 1..a loop
      c:=a*b;
      dbms_output.put(b||'*'||a||'='||c||' ');
    end loop;
    dbms_output.put_line('');
  end loop;
end;

 oracle 编程

oracle 编程

goto结构又称跳转结构,可以在plsql块中设定一个标签,

标签使用<<标签名>>来定义,然后使用goto 标签名;完成跳转。

巧妙的使用goto语句能实现选择结构,也能实现循环结构。

例如改写计算1-100之和的程序 

declare
  a integer:=1;
  tot integer:=0;
begin
  <<cal>>
  tot:=tot+a;
  a:=a+1;
  if a<=100 then
    goto cal;
  end if;
dbms_output.put_line('1+2+...+100='||tot);
end;