日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle數(shù)據(jù)庫開發(fā)經(jīng)驗淺談

瀏覽:117日期:2023-11-29 13:45:12
ORACLE數(shù)據(jù)庫作為大型數(shù)據(jù)庫管理系統(tǒng),近年來一直占有世界上高端數(shù)據(jù)庫的最大份額,其強大而完善的數(shù)據(jù)庫管理功能,以及ORACLE公司推陳出新的不斷努力,一直成為IT業(yè)界矚目的焦點。嶺澳核電站的數(shù)據(jù)庫平臺采用了ORACLE7.3作為后端平臺,前端選擇了ORACLE公司的DEVELOPER 2000 及DESIGNER 2000作為開發(fā)工具,采用了目前流行的CLIENT/SERVER模式。本人在ORACLE系統(tǒng)的開發(fā)中,就ORACLE的整套開發(fā)工具提出一些自己的體會,供同行參考。

一. ORACLE SQL PLUS 使用技巧:

----①查找重復(fù)記錄:

SELECT DRAWING,DSNO FROM EM5_PIPE_PREFAB

WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5

_PIPE_PREFAB D

WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND

EM5_PIPE_PREFAB.DSNO=D.DSNO);

----執(zhí)行上述SQL語句后就可以顯示所有DRAWING和DSNO相同且重復(fù)的記錄。

----刪除重復(fù)記錄:

DELETE FROM EM5_PIPE_PREFAB

WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5

_PIPE_PREFAB D

WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND

EM5_PIPE_PREFAB.DSNO=D.DSNO);

----執(zhí)行上述SQL語句后就可以刪除所有DRAWING和DSNO相同且重復(fù)的記錄。

----② 快速編譯所有視圖

----當(dāng)在把數(shù)據(jù)庫倒入到新的服務(wù)器上后(數(shù)據(jù)庫重建),需要將視圖重新編譯一遍,因為該表空間視圖到其它表空間的表的連接會出現(xiàn)問題,可以利用PL/SQL的語言特性,快速編譯。

SQL >SPOOL ON.SQL

SQL >SELECT ‘ALTER VIEW ‘||TNAME||’

COMPILE;’ FROM TAB;

SQL >SPOOL OFF

然后執(zhí)行ON.SQL即可。SQL >@ON.SQL

當(dāng)然,授權(quán)和創(chuàng)建同義詞也可以快速進行,如:

SQL >SELECT ‘GRANT SELECT ON ’

||TNAME||’ TO USERNAME;’ FROM TAB;

SQL >SELECT ‘CREATE SYNONYM

‘||TNAME||’ FOR USERNAME.’||TNAME||’;’ FROM TAB;

③ 用外聯(lián)接提高表連接的查詢速度

在作表連接(常用于視圖)時,常使用以下方法來查詢數(shù)據(jù):

SELECT PAY_NO, PROJECT_NAME

FROM A

WHERE A.PAY_NO NOT IN (SELECT PAY_

NO FROM B WHERE VALUE >=120000);

----但是若表A有10000條記錄,表B有10000條記錄,則要用掉30分鐘才能查完,主要因為NOT IN要進行一條一條的比較,共需要10000*10000次比較后,才能得到結(jié)果。該用外聯(lián)接后,可以縮短到1分左右的時間。

----⑤ 怎樣在數(shù)據(jù)庫觸發(fā)器中使用列的新值與舊值

----在數(shù)據(jù)庫觸發(fā)器中幾乎總是要使用觸發(fā)器基表的列值,如果某條語句需要某列修改前的值,使用:OLD就可以了,使用某列修改后的新值,用:NEW就可以了。如:OLD.DEPT_NO,:NEW.DEPT_NO。

二.ORACLE DEVELOPER 2000使用技巧:

----① 改變FORM(FMX模塊)運行時的Runform4.5的題頭:

----DEVELOPER2000中FMX默認(rèn)題頭為:Developer/2000 Forms Runtime for Windows 95 / NT 你可以改為自己定義的標(biāo)題,

----1. 在Form級觸發(fā)器中添加觸發(fā)WHEN-NEW-FORM-INSTANCE

----2. 在此觸發(fā)器中寫如下代碼:

set_window_property(FORMS_MDI_WINDOW,TITLE,'POINT

SYSTEM 歡迎使用');

----② 如何隱藏菜單中的window選項:

----在創(chuàng)建自己的菜單時,最后選項總有window項,下面介紹如何去掉它,

----1. 創(chuàng)建一個Menu

----2. 在Menu中建立一個Item,命名為WINDOW。

----3. 設(shè)置該Item屬性如下:

----Menu Item Type:Magic

Command Type:Null

Magic Item:Window

Lable:為空

----③ 怎樣創(chuàng)建動態(tài)下拉列表List

----Developer 2000 中的列表是通過設(shè)置相關(guān)屬性而完成數(shù)據(jù)項的列表設(shè)置的,但那只是靜態(tài)的,有時你想讓某項成為動態(tài)的列表,隨輸入數(shù)據(jù)的改變而改變,就需要動手去編個小程序。下面詳細(xì)介紹怎樣去做:

----有塊EBOP_CABLE_ACCOUNT,下有SPECIFICATION數(shù)據(jù)項,當(dāng)一進入該模塊時,就將SPECIFICATION項在數(shù)據(jù)庫中存儲的值動態(tài)顯示出來,先在Form4.5中建立一個PRCEDURE,命名為DYN_LIST:

然后在FORM的WHEN-NEW

-FORM-INSTANCE觸發(fā)子中加入一行:

DYN_LIST;

----這樣一進入該FMX,就會動態(tài)刷新該列表。除此之外,SPECIFICATION數(shù)據(jù)項改為列表項。

----④ 當(dāng)顯示多條記錄且數(shù)據(jù)項特別多時,如何組織錄入及顯示界面:

---- PRN代碼及設(shè)備代碼在畫布1(CONTENT型)上,其它數(shù)據(jù)項在畫布2(STACK型)上,所有數(shù)據(jù)項為一個表的列或一個塊的數(shù)據(jù)項。在拉動水平滾動條時或用TAB或敲回車鍵時,將看到全部數(shù)據(jù)項。這種排布方法適用于數(shù)據(jù)項特別多又想顯示多條記錄時用。主要制作順序為:先建立兩個畫布,畫布1(CONTENT型),畫布2(STACK型),然后建立塊,選畫布時用畫布1,這樣所有項都顯示在畫布1上,然后選中除PRN代碼及設(shè)備代碼之外的所有數(shù)據(jù)項,選TOOLS菜單下的PROPERTIES選項,將這些數(shù)據(jù)項的CANVAS屬性選為畫布2(STACK型),然后調(diào)整整體位置就可以了。

----⑤ 如何在FORM的受限觸發(fā)子中提交保存數(shù)據(jù)

----在FORM中很多觸發(fā)子是不能用COMMIT WORK語句的,當(dāng)你在該觸發(fā)子中使用了UPDATE,DELETE等操作并想立即存盤時,就需要COMMIT WORK語句了。首先在服務(wù)器端建立DB_SQL_COMMIT這個過程。

----然后在FORM中該觸發(fā)子中調(diào)用過程DB_SQL_COMMIT;就可以了,當(dāng)然你可以根據(jù)自己需要將該過程加入?yún)?shù),這樣通過參數(shù)可以得到執(zhí)行DML語句的權(quán)限。

----⑥ 如何在FORM中實現(xiàn)某數(shù)據(jù)項自動按記錄序號加一操作

----設(shè)塊名為VO,要操作的數(shù)據(jù)項為VO_ID,在該塊中建立塊級觸發(fā)子WHEN-CREATE- RECORD,加入如下代碼:

:VO_ID:=:System.Trigger_Record;

----這樣每當(dāng)生成新記錄時VO_ID就會自動加一了。

----⑦ 如何在一個FORM中調(diào)用另一個FORM,或在一個塊中調(diào)用另一個塊時顯示特定的記錄有時用戶會要求在調(diào)用另一個FORM時,只顯示相關(guān)的記錄,舉例如下,在一個FORM的塊中有一個按鈕,在按鈕觸發(fā)子中加入如下代碼:

DECLARE

PM

PARAMLIST;

BEGIN

PM:=GET_PARAMETER_LIST('PM');

IF NOT ID_NULL(PM) THEN

DESTROY_PARAMETER_LIST('PM');

END IF;

PM:=CREATE_PARAMETER_LIST('PM');

......................

ADD_PARAMETER(PM,'THE_WHERE',

TEXT_PARAMETER,'EM_NAME=''EM4''

AND EM_PROJECT_NAME=''支架預(yù)制''');

OPEN_FORM('PAYMENT',ACTIVATE,SESSION,PM);

END;

 ----其中EM_NAME,EM_PROJECT_NAME為本FORM某塊的數(shù)據(jù)項,PAYMENT為要調(diào)用的FORM模塊。這樣通過傳遞參數(shù)列表就可以得到想要的結(jié)果。在FORM. PAYMENT.FMB中,建立一參數(shù)THE_WHERE,CHAR型,長1000,然后在PAYMENT.FMB中建立FORM級觸發(fā)子WHEN-NEW-FORM-INSTANCE,在該觸發(fā)子中加入以下語句:

IF :PARAMETER.THE_WHERE IS NOT NULL THEN

SET_BLOCK_PROPERTY('PAYMENT',

DEFAULT_WHERE,:PARAMETER.THE_WHERE);

END IF;

----其中PAYMENT為要顯示的塊,這樣通過參數(shù)傳遞就得到想要的某些特定條件的數(shù)據(jù)了。

----⑧ 在FORM中當(dāng)有主從塊時,連續(xù)輸入記錄如何避免被不斷的提示保存:

----每輸入一條主記錄和若干條該主記錄的從記錄后,此時再導(dǎo)航到主塊輸下一條記錄,F(xiàn)ORM就會提示你是否要保存記錄,而你并不希望FORM提示,讓它自動保存,此時你可以到Program Units中找到過程PROCEDURE Clear_All_Master_Details,然后在這個過程中找到語句

三.數(shù)據(jù)庫管理

----① 在刪除一個表中的全部數(shù)據(jù)時,須使用TRUNCATE TABLE 表名;因為用DROP TABLE,DELETE * FROM 表名時,TABLESPACE表空間該表的占用空間并未釋放,反復(fù)幾次DROP,DELETE操作后,該TABLESPACE上百兆的空間就被耗光了。

----② 數(shù)據(jù)庫文件的移動方法

----當(dāng)想將數(shù)據(jù)庫文件移動到另外一個目錄下時,可以用ALTER DATABASE命令來移動(比ALTER TABLESPACE適用性強):

----1. 使用SERVER MANAGER關(guān)閉實例.

SVRMGR > connect internal;

SVRMGR > shutdown;

SVRMGR >exit;

----2. 使用操作系統(tǒng)命令來移動數(shù)據(jù)庫文件位置(假設(shè)這里操作系統(tǒng)為SOLARIS 2.6). 在UNIX中用 mv命令可以把文件移動到新的位置,

#mv /ora13/orarun/document.dbf /ora12/orarun

----3. 裝載數(shù)據(jù)庫并用alter database命令來改變數(shù)據(jù)庫中的文件名.

SVRMGR > connect internal;

SVRMGR > startup mount RUN73;

SVRMGR > alter database rename file

> ‘/ ora13/orarun/document.dbf’

> ‘/ ora12/orarun/document.dbf’;

----4. 啟動實例.

SVRMGR > alter database open;

----(huangfutong@china.com)

標(biāo)簽: Oracle 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线精品亚洲| 国产欧美在线| 精品久久97| 国产丝袜一区| 国产亚洲字幕| 国产日韩高清一区二区三区在线| 日韩不卡免费视频| 欧美午夜精品一区二区三区电影| 日韩av免费| 久久视频一区| 香蕉精品视频在线观看| 狠狠操综合网| 麻豆9191精品国产| 亚洲精品一二| 国产精品永久| 国产一区二区三区探花| 国产精品二区不卡| 中文另类视频| 亚洲欧美网站| 日韩欧美三区| 国产精品最新| 国产精品久久久久久久久久妞妞 | 国产精品成人国产| 久久超碰99| 日韩av免费大片| 久久久影院免费| 丝袜a∨在线一区二区三区不卡| 免费观看在线综合| 日韩在线观看一区二区三区| 日本成人中文字幕| 久久激情综合网| 九九99久久精品在免费线bt| 久久亚洲黄色| 欧美日韩一二三四| 亚洲丝袜啪啪| 嫩草伊人久久精品少妇av杨幂| 精品视频网站| 欧美+日本+国产+在线a∨观看| 亚洲一区二区av| 久久99精品久久久久久园产越南 | 国产一区二区高清| 一区二区三区四区在线观看国产日韩| 日本视频一区二区| 欧美一区自拍| 在线观看精品| 蜜臀av亚洲一区中文字幕| 国产日韩免费| 国产一区二区中文| 91亚洲精品视频在线观看| 91视频一区| 黄色成人在线网址| 欧美视频二区| 99视频精品全部免费在线视频| 免费精品视频最新在线| 国产精品porn| 亚洲精品1区| 久久av网站| 日韩午夜av| 日韩1区2区3区| 成人小电影网站| 涩涩涩久久久成人精品| 中文字幕在线视频久| 中文字幕亚洲影视| 成人国产精品一区二区免费麻豆| 国产视频欧美| 高清日韩欧美| 日韩免费精品| 免费毛片在线不卡| 欧美成人精品一级| 蜜桃久久av一区| 偷拍精品精品一区二区三区| 日韩黄色免费网站| 婷婷亚洲五月| 欧美亚洲二区| 午夜久久黄色| 国产一区二区视频在线看| 久热综合在线亚洲精品| 国产成人精品亚洲线观看| 先锋影音国产一区| 亚洲综合在线电影| 欧美精品99| 亚洲精品人人| 亚洲性色视频| 精品国产乱码| 久久精品超碰| 丝瓜av网站精品一区二区| 免费高潮视频95在线观看网站| 色狠狠一区二区三区| 久久xxx视频| 亚洲精品少妇| 欧美日韩国产精品一区二区亚洲| 久久精品国产免费| 日韩一区二区三区免费视频| 影院欧美亚洲| 国产福利电影在线播放| 国产探花一区在线观看| 狠狠久久婷婷| 国产中文一区| 韩国三级一区| 国产精品福利在线观看播放| 国产精品一二| 日产欧产美韩系列久久99| 妖精视频成人观看www| 精品成人18| 国产精品欧美在线观看| 日韩综合一区二区三区| 99国内精品| 99久久精品国产亚洲精品| 91亚洲人成网污www| 精品视频一区二区三区在线观看| 久久国产视频网| 中文字幕av亚洲精品一部二部| 一区久久精品| 欧美日韩国产一区二区三区不卡| 亚洲精品.com| 成年男女免费视频网站不卡| 精品国产一区二区三区av片| 国产亚洲一区二区三区啪| 亚洲少妇一区| 不卡在线一区| 久久精品国产99久久| 人人精品亚洲| 亚洲不卡av不卡一区二区| 极品av在线| 神马久久午夜| 国产成人精品三级高清久久91| 久久亚洲人体| 精品视频在线你懂得| 久久男人av| 国产一区二区精品久| 精品伊人久久久| 精品国产成人| а√在线中文在线新版| 国产日韩在线观看视频| 青青国产91久久久久久| 日韩精品一二三| 视频一区日韩| 日本免费在线视频不卡一不卡二| 五月激激激综合网色播| 日本麻豆一区二区三区视频| 日韩黄色免费网站| 国产精品黄色| 国产一区二区三区91| 色偷偷色偷偷色偷偷在线视频| 亚洲成人一区在线观看| 久久精品1区| 中文一区在线| 日韩激情网站| 日韩av一区二区三区| 国产日产一区| 精品一区视频| 婷婷国产精品| 蜜臀av一区二区在线免费观看| 日韩av二区在线播放| 国产精品密蕾丝视频下载| 精品日韩一区| 私拍精品福利视频在线一区| 亚洲精品小说| 中文字幕av亚洲精品一部二部 | 国产精品调教| 精品中文字幕一区二区三区 | 欧美xxxx性| 超级白嫩亚洲国产第一| 免费久久精品| 好吊日精品视频| 亚洲欧美网站在线观看| 国产精品nxnn| 色婷婷久久久| 日韩视频久久| 日本成人在线不卡视频| 日韩国产欧美在线视频| 欧美精品第一区| 伊人久久大香线蕉av不卡| 欧美91视频| 欧美在线黄色| 婷婷激情一区| 综合日韩在线| 国产中文字幕一区二区三区| 亚洲天堂1区| 日韩三级精品| 日韩国产欧美一区二区| 免费黄网站欧美| 国内精品麻豆美女在线播放视频| 99国产精品免费视频观看| 午夜性色一区二区三区免费视频| 国产色99精品9i| 久久久国产亚洲精品| 婷婷精品久久久久久久久久不卡| 国产精品流白浆在线观看| 久久久久.com| 久久激情五月婷婷| 999国产精品视频| 青青草伊人久久| 日韩欧美二区| 亚洲精品伊人| 亚洲成av在线| 国产日韩欧美一区二区三区| 999国产精品| 欧美日韩1区2区3区| 色综合狠狠操|