亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Oracle數據庫開發必備利器之PL/SQL基礎

難度初級
時長 3小時22分
學習人數
綜合評分9.57
115人評價 查看評價
9.8 內容實用
9.4 簡潔易懂
9.5 邏輯清晰
  • 連接超級管理,查看cursor相關的參數

    open_cursors 一個會話中光標的最多數量,300是不夠使用的;

    alter system set open_cursors=400 scope=both;

    scope的取值?

    memory,----只更改當前示例,不更改參數文件

    spfile--只更改參數文件,不更改當前示例,需要重啟數據庫

    both---包含以上2種更改;


    SQL> conn sys/123456 as sysdba

    已連接。

    SQL> show user

    USER 為 "SYS"

    SQL> show parameter %cursor%


    NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE? ? ? ? VALUE

    ------------------------------------ ----------- -------------

    cursor_sharing? ? ? ? ? ? ? ? ? ? ? ?string? ? ? EXACT

    cursor_space_for_time? ? ? ? ? ? ? ? boolean? ? ?FALSE

    open_cursors? ? ? ? ? ? ? ? ? ? ? ? ?integer? ? ?300

    session_cached_cursors? ? ? ? ? ? ? ?integer? ? ?50

    查看全部
  • -- 給員工漲工資,總裁1000,經理800,其他400

    set serveroutput on

    declare

    ? ? --定義光標代表給哪些員工漲工資

    ? ? --alter table "SCOTT"."EMP" rename column "JOB" to empjob

    ? ? --表中job提示藍色,觸碰到了關鍵字

    ? ? cursor cemp is select empno,empjob from emp;

    ? ? pempno emp.empno%type;

    ? ? pjob emp.empjob%type;

    begin

    ? ? rollback;

    ? ? --打開光標

    ? ? open cemp;

    ? ??

    ? ? loop

    ? ? ? ? fetch cemp into pempno,pjob;

    ? ? ? ? exit when cemp%notfound;

    ? ? ? ??

    ? ? ? ? -- 判斷員工的職位

    ? ? ? ? if pjob = 'PRESIDENT' then update emp set sal=sal+1000 where empno=pempno;

    ? ? ? ? ? ? elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno;

    ? ? ? ? ? ? else update emp set sal=sal+400 where empno=pempno;

    ? ? ? ? end if;

    ? ? end loop;

    ? ? --關閉光標

    ? ? close cemp;

    ? ??

    ? ? -- 對于oracle,默認的事務隔離級別是read committed

    ? ? -- 事務的acid

    ? ? commit;

    ? ??

    ? ? dbms_output.put_line('漲工資成功');

    end;

    /

    查看全部
  • --查詢并打印員工姓名和薪水

    /**

    1.光標的屬性--4個屬性,本節僅介紹2個

    ?%found? %not found

    */

    set serveroutput on

    declare

    ? ? --定義一個光標

    ? ? cursor cemp is select ename,sal from emp;

    ? ? -- 為光標定義對應的變量

    ? ? pename emp.ename%type;

    ? ? psal emp.sal%type;

    begin

    ? ? --打開光標

    ? ? open cemp;

    ? ? loop

    ? ? -- 取一條記錄

    ? ? fetch cemp into pename,psal;

    ? ? -- exit when 沒有取到記錄

    ? ? exit when cemp%notfound;

    ? ? -- 打印

    ? ? dbms_output.put_line(pename||'的薪水'||psal);

    ? ? end loop;

    ? ? -- 關閉光標

    ? ? close cemp;

    end;

    /

    查看全部
  • 光標就是一個結果集 result set

    查看全部
  • --使用for循環打印1--10

    set serveroutput on

    declare

    ?-- 定義循環變量

    ? ? pnum number := 1;

    begin

    ? ? for pnum in 1..10 loop

    ? ? ? ? dbms_output.put_line(pnum);

    ? ? end loop;

    end;

    /

    查看全部
  • -- 使用loop循環打印1--10*****使用最多,控制光標比較方便

    set serveroutput on

    declare

    pnum number :=1;

    begin

    loop

    ?-- 退出循環條件:變量大于10

    ?exit when pnum > 10;

    ?-- 打印該變量的值

    ?dbms_output.put_line(pnum);


    ?pnum := pnum + 1;

    end loop;

    end;

    /

    查看全部
  • --使用while循環打印數字1-10

    set serveroutput on


    declare

    --定義循環變量

    ?pnum number :=1;

    begin

    ?while pnum <= 10 loop

    ?--循環體

    ?dbms_output.put_line(pnum);

    ?pnum := pnum + 1;

    ?end loop;

    end;

    /

    查看全部
  • /*

    判斷用戶從鍵盤輸入的數字

    1.如何使用if語句

    2.接收一個鍵盤輸入-字符串

    */

    set serveroutput on

    -- 接收一個鍵盤輸入

    -- num: 地址值,含義是:在該地址上保存了輸入的值

    accept num prompt '請輸入一個數字';


    declare

    ?-- 定義變量保存用戶從鍵盤輸入的數字

    ? ? pnum number := &num;

    begin

    -- if進行條件判斷--dbms_output.put_line里面不能放雙引號

    ? ? if pnum = 0 then dbms_output.put_line('您輸入的是0');

    ? ? ? ? elsif pnum = 1 then dbms_output.put_line('您輸入的是1');

    ? ? ? ? elsif pnum = 2 then dbms_output.put_line('您輸入的是2');

    ? ? ? ? else dbms_output.put_line('其他數字');

    ? ? end if;

    end;

    /


    查看全部
  • --引用型變量

    set serveroutput on


    declare

    -- 定義引用型變量:查詢并打印7839的姓名和薪水

    -- pename varchar2(20);

    -- psal number;

    ?pename emp.ename%type;

    ?psal emp.sal%type;

    ?begin

    ?--得到7839的姓名和薪水

    ?select ename,sal into pename,psal from emp where empno=7839;

    ?

    ?-- 打印

    ?dbms_output.put_line(pename||'的薪水是'||psal);

    ?end;

    ?/

    查看全部
  • -- 使用記錄變量,查詢并打印7839的姓名和薪水

    set serveroutput on

    declare

    --定義記錄型變量:注意代表一行

    ?emp_rec emp%rowtype;

    ?begin

    ?--得到7839一行的信息

    ?select * into emp_rec from emp where empno=7839;

    ?

    ?--打印姓名和薪水

    ?dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);

    ?end;

    ?/

    查看全部
  • scott? ------ 打開一個sql工作表




    set serveroutput on;

    -- 使用基本變量類型

    declare

    -- 定義基本變量類型

    -- 基本數據類型

    pnumber number(7,2);

    --字符串變量

    pname varchar2(20);

    --日期變量

    pdate date;

    begin

    pnumber := 1;

    dbms_output.put_line(pnumber);


    pname := 'Tom';

    dbms_output.put_line(pname);


    pdate := sysdate;

    dbms_output.put_line(pdate);

    dbms_output.put_line(pdate + 1);

    end;

    /

    查看全部
  • pl/sql的程序結構

    查看全部
  • -- 打印hello world

    declare

    -- 說明部分(變量,光標或者例外)

    begin

    -- 程序體

    dbms_output.put_line('hello world');

    end;

    -- end后面分號別忘記了

    /


    -- 打開輸出開關

    set serveroutput on

    /


    -- 查看程序包的結構

    desc dbms_ouput

    查看全部
  • 工具---首選項----數據庫----第三方數據庫jdbc驅動程序-----mysql-connector-java-5.1.7-bin.jar

    mysql驅動的加包---

    新建連接可以有mysql數據庫

    查看全部
    0 采集 收起 來源:SQL Developer安裝

    2022-02-04

  • 工具,首選項,代碼編輯器,來顯示行數,調整字體大小

    查看全部
    0 采集 收起 來源:SQL Developer安裝

    2022-02-04

舉報

0/150
提交
取消
課程須知
親,要學習本門課程只需要熟練使用Oracle的SQL語句就可以了,可以參考慕課網的課程《Oracle數據庫開發必備利器之SQL基礎》呦!
老師告訴你能學到什么?
1、能夠熟練掌握PL/SQL的基本語法 2、能夠熟練使用光標和例外 3、能夠熟練使用PL/SQL進行開發

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!