oracle 編程


 

 

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;

 

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;

 

 

 

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

 

 

 

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;

 

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;

例如: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;

 

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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM