• <menu id="w2i4a"></menu>
  • logo PL/SQL Developer系列教程

    文檔首頁>>PL/SQL Developer系列教程>>PL/SQL Developer使用教程:PL/SQL入門知識(一)

    PL/SQL Developer使用教程:PL/SQL入門知識(一)


    PL/SQL Developer是一個集成開發(fā)環(huán)境,它專門針對Oracle數(shù)據(jù)庫的存儲程序單元的開發(fā)所用。開發(fā)Oracle應(yīng)用程序的時候都注重于開發(fā)工具簡單易用,代碼簡潔和開發(fā)效率高等特點(diǎn)。

    點(diǎn)擊下載PL/SQL Developer免費(fèi)版

    對于一般的新手來說,首先要了解什么是PL/SQL?知道了PL/SQL的入門知識,才能更好的使用PL/SQL Developer工具。本文主要介紹了PL/SQL是什么,以及PL/SQL 變量等內(nèi)容~

    PL/SQL是是由甲骨文公司在90年代初開發(fā),以提高SQL的功能。PL/SQL是嵌入在Oracle數(shù)據(jù)庫中的編程語言之一,是Oracle數(shù)據(jù)庫對SQL語句的擴(kuò)展。在普通SQL語句的使用上增加了編程語言的特點(diǎn),所以PL/SQL就是把數(shù)據(jù)操作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環(huán)等操作實現(xiàn)復(fù)雜的功能或者計算的程序語言。

    簡而言之,PL/SQL是一門為擴(kuò)展Oracle中SQL功能的編程語言。

    在 PL/SQL Developer 開發(fā)工具中打開 SQL commoned 窗口可以進(jìn)行PL/SQL 開發(fā)。 在左上角有輸出框??梢圆榭从蒬bms_output.put_line( )得到的結(jié)果。

    先來個Hello world 展示一下吧!

    declare
        msg varchar(20);
    begin
        msg := 'Hello world ! ';
        
        dbms_output.put_line(msg);
    
    exception
        -- 單行注釋
        /*
         * 多行注釋 ,這部分是異常處理模塊,可有可無。
         */
    end;

    declare 聲明部分 ——所有變量,游標(biāo),子程序,和其他元素

    begin - end ; –——程序主體,可執(zhí)行命令

    PL/SQL中常見符號解釋:

    || 字符串連接符
    := 賦值運(yùn)算符
    %屬性索引 使用%type可以使變量獲得與字段相同的數(shù)據(jù)類型,用于不知道給什么類型才合適的變量
    =相等運(yùn)算符

    談一種編程語言,肯定要說變量和數(shù)據(jù)類型呀!

    PL/SQL 變量命名 : 由數(shù)字,字母,下劃線,美元符號組成。字母開頭。

    變量分類:局部變量和全局變量。

    變量的常見類型:

    varchar2 : 可變長字符串

    int : 整數(shù)類型

    number (precision,scale) :1.、precision表示數(shù)字中的有效位,如果沒有指定precision的話,oracle將使用38作為精度;2、 如果scale大于零,表示數(shù)字精度到小數(shù)點(diǎn)右邊的位數(shù);scale默認(rèn)設(shè)置為0;如果scale小于零,oracle將把該數(shù)字取舍到小數(shù)點(diǎn)左邊的指定位數(shù)。

    clob: 用于存儲字符大塊數(shù)據(jù)在數(shù)據(jù)庫中 大小為 8 - 128 TB

    date : 日期和時間

    變量的定義分為局部變量和全局變量。

    DECLARE
        -- Global variables
        num1 number := 95;
        num2 number := 85;
    BEGIN
        dbms_output.put_line('Outer Variable num1: ' || num1);
        dbms_output.put_line('Outer Variable num2: ' || num2);
        DECLARE
            -- Local variables
            num1 number := 195;
            num2 number := 185;
        BEGIN
            dbms_output.put_line('Inner Variable num1: ' || num1);
            dbms_output.put_line('Inner Variable num2: ' || num2);
        END;
    END;

    SQL的SELECT INTO子句給PL/SQL變量賦值

    declare
      c_id customers.id%type := 1;
      c_name customers.name%type;
      c_addr customers.address%type;
      c_sal customers.salary%type;
    begin
      select name,address,salary into c_name,c_addr,c_sal from customers where id = c_id;
      dbms_output.put_line('Customer '||c_name||' from '||c_addr||' earns '||c_sal);
    end;

    PL/SQL 中的常量:

    PI constant number := 3.14;

    很不習(xí)慣呀,常量和變量名放在前面,數(shù)據(jù)的類型放在后面。。。

    PL/SQL 中的運(yùn)算符:

    PL/SQL Developer使用教程:PL/SQL入門知識(一)

    PL/SQL 中的條件控制語句:

    PL/SQL Developer使用教程:PL/SQL入門知識(一)

    注意: 每一次 if 結(jié)構(gòu)結(jié)束都要用 end if; 這才表示 if 結(jié)束。

    DECLARE
        a number(3) := 100;
    BEGIN
        IF ( a = 10 ) THEN
            dbms_output.put_line('Value of a is 10' );
        ELSIF ( a = 20 ) THEN
            dbms_output.put_line('Value of a is 20' );
        ELSIF ( a = 30 ) THEN
            dbms_output.put_line('Value of a is 30' );
        ELSE
            dbms_output.put_line('None of the values is matching');
        END IF;
        dbms_output.put_line('Exact value of a is: '|| a );
    END;

    CASE 結(jié)構(gòu):

    declare
      grade char(1) := 'A';
    begin
      case grade
        when 'A' then dbms_output.put_line('A');
        when 'B' then dbms_output.put_line('B');
        else dbms_output.put_line('NO');
      end case;
    end;

    PL/SQL 中的循環(huán)控制語句:

    PL/SQL Developer使用教程:PL/SQL入門知識(一)

    舉例說明:

    DECLARE
        x number := 10;
    BEGIN
        LOOP
            dbms_output.put_line(x);
            x := x + 10;
            IF x > 50 THEN
                exit;
            END IF;
        END LOOP;
        -- after exit, control resumes here
        dbms_output.put_line('After Exit x is: ' || x);
    END;
    DECLARE
        a number(2) := 10;
    BEGIN
        WHILE a < 20 LOOP
            dbms_output.put_line('value of a: ' || a);
            a := a + 1;
        END LOOP;
    END;
    DECLARE
        a number(2);
    BEGIN
        FOR a in 10 .. 20 LOOP   -- 10 .. 20 表示10-20 全包含
            dbms_output.put_line('value of a: ' || a);
        END LOOP;
    END;

    常用的操作字符串的函數(shù):

    UPPER(x) :x轉(zhuǎn)換為大寫字母,并返回該字符串

    TRIM([trim_char FROM) x) : 從左側(cè)和右側(cè)修剪x字符的空格

    SUBSTR(x, start [, length]) : 返回x的一個子開始于由start指定的位置??蛇x長度為子字符串

    CHR(x) : 返回字符 x 的 ASCII 值

    CONCAT(x, y) : 連接字符串x和y,并返回附加的字符串

    INITCAP(x) : 每個單詞的首字母x中轉(zhuǎn)換為大寫,并返回該字符串

    INSTR(x, find_string [, start] [, occurrence]) :搜索find_string在x中并返回它出現(xiàn)的位置

    INSTRB(x) : 返回另一個字符串中字符串的位置,但返回以字節(jié)為單位的值

    LENGTH(x) : 返回x中的字符數(shù)

    LOWER(x) : 在x轉(zhuǎn)換為小寫字母,并返回該字符串

    LTRIM(x [, trim_string]) : 從x的左修剪字符


    想要購買PL/SQL Developer正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊“咨詢在線客服”

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();