<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA日志

    JAVA日志

     

    在Orcale中使用視圖和存儲(chǔ)過(guò)程

    ?在Orcale中使用視圖和存儲(chǔ)過(guò)程
    一.視圖
    1.為什么要引入視圖這個(gè)概念?
    試想如果我們要使用計(jì)算列調(diào)整數(shù)據(jù)的結(jié)構(gòu),或者基于列值比較從多個(gè)表中抽取數(shù)據(jù),我們就不得不采取相對(duì)很復(fù)雜的SQL語(yǔ)句.但是,如果我們要多次按照
    這種方式獲取數(shù)據(jù),那豈不是要一遍又一遍的重復(fù)寫(xiě)這些復(fù)雜的SQL語(yǔ)句,那是一件多么令人頭痛的事啊,但是,有了視圖,我們就可以完全避免這些不必要
    多做這些無(wú)用功了,SQL允許我們?cè)跀?shù)據(jù)庫(kù)中創(chuàng)建視圖.視圖提供了一種半持久性的改造方式,這樣我們就可以通過(guò)訪問(wèn)視圖來(lái)代替直接訪問(wèn)表,換句話說(shuō)就是
    視圖就相當(dāng)于一個(gè)抽象層,這樣就能是我們以一種更一致的方式格式數(shù)據(jù).同時(shí)這樣也大大提高了數(shù)據(jù)的安全性,用戶僅可以訪問(wèn)到視圖,而不能訪問(wèn)到下層的
    數(shù)據(jù).
    2.視圖有那些優(yōu)點(diǎn)?
    ?1.將用戶的注意力集中在特定的數(shù)據(jù)上,從而提高數(shù)據(jù)的安全性
    ?2.簡(jiǎn)化了數(shù)據(jù)的查詢和處理操作,DBA可以把大量的相關(guān)的內(nèi)容設(shè)計(jì)到一個(gè)視圖中,使用戶在查詢和處理數(shù)據(jù)時(shí)就像處理表那么簡(jiǎn)單,而不用編寫(xiě)復(fù)雜的
    ?select語(yǔ)句
    ?3.有利于數(shù)據(jù)的交換
    ?4.有利于簡(jiǎn)化對(duì)用戶權(quán)限的管理
    3.在SQL如何創(chuàng)建和使用視圖?
    ?創(chuàng)建視圖:
    ?->create view 視圖名稱 as Query(任意的select語(yǔ)句)
    ??Example:CREATE VIEW selectstudent
    ????AS select name from student;(該例子就提高了數(shù)據(jù)的按全性,在用戶調(diào)用這個(gè)視圖時(shí),就只能看到學(xué)生名字)
    ?使用視圖:
    ?->select 字段名 from 視圖名 where 過(guò)濾條件
    ??Example(接上):select name from selectstudent where name = '張三';
    4.怎樣更改視圖?
    ?->CREATE OR REPLACE VIEW 視圖名 AS Query
    5.怎樣刪除視圖?
    ?->DROP VIEW 視圖名
    二.存儲(chǔ)過(guò)程
    1.什么是儲(chǔ)存過(guò)程?
    我們?cè)谑褂肧QL進(jìn)行編程時(shí),可以使用兩種方法儲(chǔ)存和執(zhí)行程序.可以在本地儲(chǔ)存程序,創(chuàng)建并向數(shù)據(jù)庫(kù)發(fā)送命令并處理結(jié)果的應(yīng)用程序,最好的方法當(dāng)然是將程序在數(shù)據(jù)庫(kù)儲(chǔ)存為
    儲(chǔ)存過(guò)程,創(chuàng)建執(zhí)行儲(chǔ)存過(guò)程并處理結(jié)果的應(yīng)用程序.
    2.存儲(chǔ)過(guò)程有什么作用?
    ?->接受輸入?yún)?shù)并以輸出參數(shù)的形式將多個(gè)值返回至調(diào)用過(guò)程或進(jìn)行批處理
    ?->執(zhí)行數(shù)據(jù)庫(kù)操作的編程語(yǔ)句
    ?->向調(diào)用過(guò)程或批處理返回狀態(tài)值表明成功或失敗以及失敗的原因
    3.使用存儲(chǔ)過(guò)程有那些優(yōu)勢(shì)?
    ?->允許模塊化程序設(shè)計(jì).只需創(chuàng)建過(guò)程一次并將其保存在數(shù)據(jù)庫(kù)中,以后就能在程序中調(diào)用該過(guò)程任意次
    ?->允許更快的執(zhí)行.如果某項(xiàng)操作需要大量的SQL代碼或需要重復(fù)執(zhí)行,存儲(chǔ)過(guò)程將比SQL代碼執(zhí)行的要快
    ?->減少網(wǎng)絡(luò)流量.一個(gè)需要數(shù)百行的SQL代碼操作由一條執(zhí)行過(guò)程代碼的單獨(dú)語(yǔ)句就可以實(shí)現(xiàn),而不需要在網(wǎng)絡(luò)中發(fā)送數(shù)百行代碼.
    ?->可作為安全機(jī)制使用
    4.如何創(chuàng)建存儲(chǔ)過(guò)程?
    ?->CREATE [OR REPLACE] 存儲(chǔ)過(guò)程名 (參數(shù)列表)
    ??AS
    ??BEGIN
    ???存儲(chǔ)過(guò)程主體
    ??END;
    ?->Orcale中參數(shù)的模式:參數(shù)名 IN 或 OUT 數(shù)據(jù)類型
    ??Example:
    ???create or replace insertstudent(i_studentid in int,i_studentname in vachar);
    ???as
    ???begin
    ????insert student(studentid,name)values(i_studentid,i_studentname);

    ???end;
    ???使用該存儲(chǔ)過(guò)程
    ???call insertstudent(1,'張三');
    ?->使用輸出參數(shù):
    ??Example:
    ???create or replace getstudentname(i_studentid in int,o_studentname out vachar);
    ???as
    ???begin
    ????select name into o_studentname from student where studentid = i_studentid;
    ???end;
    ??
    ???使用該存儲(chǔ)過(guò)程
    ???set severout on --單獨(dú)執(zhí)行
    ???declare
    ????studentname vachar(50);--變量聲明
    ???begin
    ????getstudentname(1,studentname);
    ????dbms_output.put_line(studentname);
    ???end;

    ???著輸出結(jié)果為:張三

    ???
    ???
    ?????

    ?

    posted on 2006-11-09 18:29 小木 閱讀(1346) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆檔案

    相冊(cè)

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 老司机午夜在线视频免费观| 中国videos性高清免费| 免费很黄很色裸乳在线观看| 男女拍拍拍免费视频网站| 亚洲国产精品自在线一区二区| 91在线视频免费看| 一个人免费播放在线视频看片| 日韩大片在线永久免费观看网站| 国产成人免费片在线观看| 成在线人视频免费视频| 亚洲制服丝袜中文字幕| 亚洲线精品一区二区三区| 日本在线高清免费爱做网站| 一级毛片免费不卡| 亚洲电影免费观看| 中文字幕第13亚洲另类| 99精品全国免费观看视频| 中国在线观看免费的www| 2017亚洲男人天堂一| 国产亚洲成AV人片在线观黄桃| 国产区在线免费观看| 亚洲性色精品一区二区在线| 亚洲国产精品特色大片观看完整版 | 91免费资源网站入口| 9久热精品免费观看视频| 亚洲人成未满十八禁网站| 亚洲国产精品第一区二区| 免费大黄网站在线观| 国内精品乱码卡1卡2卡3免费 | 国产午夜精品久久久久免费视| 亚洲av丰满熟妇在线播放| 永久在线免费观看| 91av免费在线视频| 亚洲视频国产视频| 国产精品亚洲产品一区二区三区| 成年人免费视频观看| 69国产精品视频免费| 免费黄网站在线观看| 91av免费在线视频| 人妻仑刮八A级毛片免费看| 亚洲欧美日韩中文高清www777|