Oracle數(shù)據(jù)庫管理與維護大作業(yè)_第1頁
Oracle數(shù)據(jù)庫管理與維護大作業(yè)_第2頁
Oracle數(shù)據(jù)庫管理與維護大作業(yè)_第3頁
Oracle數(shù)據(jù)庫管理與維護大作業(yè)_第4頁
Oracle數(shù)據(jù)庫管理與維護大作業(yè)_第5頁
已閱讀5頁,還剩92頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Oracle數(shù)據(jù)庫管理與維護大作業(yè)

大作業(yè)

專業(yè)班級軟件11XX班

姓名XXX

學號XXXX

完成日期2013-XX-XX

題目要求:

將下面的題目在Oraclellg中實現(xiàn),并手寫紙質(zhì)版報告一份,包括所有

實現(xiàn)功能的SQL*PLUS命令或SQL或PL/SQL語句及運行結(jié)果。

新建一個數(shù)據(jù)庫,命名為oraclezy,并完成以下功能:

記錄某采油廠對油/水井實施作業(yè)時所消耗的成本(命名為作業(yè)表zyb)。

(作業(yè):可懂得為對油/水井進行大修)

成本的消耗包括預(yù)算、結(jié)算、入賬三個狀態(tài)。

預(yù)算:采油隊向治理部門提出作業(yè)申請,并經(jīng)治理部門批準后,由治

理部門負責錄入。

結(jié)算:某次作業(yè)施工終止后,由治理部門與施工單位共同核算各種成

本,由治理部門負責錄入。

入賬:結(jié)算后,財務(wù)部門將成本計入采油廠賬目,由財務(wù)部門錄入。

按照對以上題意的懂得,利用SQLPLUS,定義所需的數(shù)據(jù)表,包括

定義有關(guān)約束條件(主碼、外碼及其他約束)。

—Createtable

createtableZYB

(

單據(jù)號VARCHAR2(20)notnull,

預(yù)算單位VARCHAR2(20)notnull,

井號VARCHAR2(20)notnull,

預(yù)算金額NUMBER(IO)notnull,

預(yù)算人VARCHAR2(20)notnull,

預(yù)算日期DATEnotnull,

開工日期DATE,

完工日期DATE,

施工單位VARCHAR2(20),

施工內(nèi)容VARCHAR2(20),

材料費NUMBER(IO),

人工費NUMBER(IO),

設(shè)備費NUMBER(IO),

其它費用NUMBER(IO),

結(jié)算金額NUMBER(IO),

結(jié)算人VARCHAR2(20),

結(jié)算日期DATE,

入賬人VARCHAR2(20),

入賬日期DATE,

入賬金額NUMBER

)

tablespaceSYSTEM

pctfree10

pctused40

initrans1

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Create/Recreateprimary,uniqueandforeignkeyconstraints

altertableZYB

addconstraintDJNOprimarykey(單據(jù)號)

usingindex

tablespaceSYSTEM

pctfree10

initrans2

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Grant/Revokeobjectprivileges

grantselect,insert,update,delete,references,alter,indexonZYBtoLIY

AN;

—Createtable單位代碼表

-由于表名用漢字表示操作時專門苦惱,就取表名的每個字的首字母

并冠以Z組成表名,如本例ZDWDMB

createtableZDWDMB

(

單位代碼VARCHAR2(20)notnull,

單位名稱VARCHAR2(20)notnull

)

tablespaceSYSTEM

pctfree10

pctused40

initrans1

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

-Create/Recreateprimary,uniqueandforeignkeyconstraints

altertableZDWDMB

addconstraintDWNAMEunique(單位名稱)

usingindex

tablespaceSYSTEM

pctfree10

initrans2

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Grant/Revokeobjectprivileges

grantselect,insert,update,delete,references,alter,indexonZDWDMBt

oLIYAN;

—Createtable油水井表

createtableZYSJB

(

井號VARCHAR2(20)notnull,

井別VARCHAR2(20)notnull,

單位代碼VARCHAR2(20)notnull

)

tablespaceSYSTEM

pctfree10

pctused40

initrans1

maxtrans255

storage

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Create/Recreateprimary,uniqueandforeignkeyconstraints

altertableZYSJB

addconstraintJNOprimarykey(井號)

usingindex

tablespaceSYSTEM

pctfree10

initrans2

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Grant/Revokeobjectprivileges

grantselect,insert,update,delete,references,alter,indexonZYSJBtoLI

YAN;

—Createtable

-施工單位表

createtableZSGDWB

(

施工單位名稱VARCHAR2(20)notnull,

施工單位號VARCHAR2(20)notnull

tablespaceSYSTEM

pctfree10

pctused40

initrans1

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Create/Recreateprimary,uniqueandforeignkeyconstraints

altertableZSGDWB

addconstraintSGNOprimarykey(施工單位號)

usingindex

tablespaceSYSTEM

pctfree10

initrans2

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Grant/Revokeobjectprivileges

grantselect,insert,update,delete,references,alter,indexonZSGDWBto

LIYAN;

-物碼表

—Createtable

createtableZWMB

(

物碼VARCHAR2(20)notnull,

名稱規(guī)格VARCHAR2(20)notnull,

計量單位VARCHAR2(20)notnull

)

tablespaceSYSTEM

pctfree10

pctused40

initrans1

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

-Create/Recreateprimary,uniqueandforeignkeyconstraints

altertableZWMB

addconstraintWNOprimarykey(物碼)

usingindex

tablespaceSYSTEM

pctfree10

initrans2

maxtrans255

storage

initial64K

nextIM

minextents1

maxextentsunlimited

);

—Grant/Revokeobjectprivileges

grantselect,insert,update,delete,references,alter,indexZWMBto

IYAN;

-材料費表

—Createtable

createtableZCLFB

(

作業(yè)項目編號VARCHAR2(20)notnull,

物碼VARCHAR2(20)notnull,

消耗數(shù)量NUMBERnotnull,

單價NUMBERnotnull

)

tablespaceSYSTEM

pctfree10

pctused40

initrans1

maxtrans255

storage

(

initial64K

nextIM

minextents1

maxextentsunlimited

);

利用SQLPLUS,錄入以下有關(guān)的基礎(chǔ)數(shù)據(jù):

單位代碼表:1122采油廠

112201采油一礦112202采油二礦

112201001采油一礦1隊112201002采油一礦2隊112201003

采油一礦3隊

112202001采油二礦1隊112202002采油二礦2隊

油水井表:(yOOl油112201001)(y002油1122010

01)

(yOO3油112201002)(sOOl水112201002)

(y004油112201003)(s002水112202001)

(sOO3水112202001)(y005油112202002)

施工單位表:作業(yè)公司作業(yè)一隊作業(yè)公司作業(yè)二隊作業(yè)公司作

業(yè)三隊

物碼表:wmOOl材料一噸wm002材料二米wm003材料三

桶wm004材料四袋

ZYB:

〃某作業(yè)項目編號zy2009001

//開工日期:2009-5-4完工日期:2009-5-25施工單位:作業(yè)公司作

業(yè)一隊施工內(nèi)容:堵漏

材料費:7000.00(其中材料一:2000.00材料二:2000.00材料三:

2000.00材料四:1000.00)

人工費:2500.00設(shè)備費:1000.00其它費用:1400.00結(jié)算金額:

11900.00

〃某作業(yè)項目編號zy2009002

//開工日期:2009-5-4完工日期:2009-5-23施工單位:作業(yè)公司作

業(yè)二隊施工內(nèi)容:檢泵

材料費:6000.00(其中材料一:2000.00材料二:2000.00材料三:

2000.00)〃隱含單價和數(shù)量

人工費:1500.00設(shè)備費:1000.00其它費用2400.00結(jié)算金額:

10900.00

〃某作業(yè)項目編號zy2009003

〃開工日期:2009-5-6完工日期:2009-5-23施工單位:作業(yè)公司作

業(yè)二隊施工內(nèi)容:檢泵

材料費:6500.00(其中材料一:2000.00材料二:2000.00材料三:

2500.00)

人工費:2000.00設(shè)備費:500.00其它費用:1400.00結(jié)算金額:1

0400.00

〃某作業(yè)項目編號zy2009004

//開工日期:2009-5-4完工日期:2009-5-24施工單位:作業(yè)公司作

業(yè)三隊施工內(nèi)容:防砂

材料費:6000.00(其中材料一:2000.00材料二:2000.00材料四:

2000.00)

人工費:2000.00設(shè)備費:1000.00其它費用:1600.00結(jié)算金額:

10600.00

〃某作業(yè)項目編號zy2009005

//開工日期:2009-5-4完工日期:2009-5-28施工單位:作業(yè)公司作

業(yè)三隊施工內(nèi)容:防砂

材料費:7000.00(其中材料一:2000.00材料二:2000.00材料四:

3000.00)

人工費:1000.00設(shè)備費:2000.00其它費用:1300.00結(jié)算金額:

11300.00

//(未入賬?。?!)

那個地點只列舉一個導出的數(shù)據(jù)表:

"施工單位名稱","施工單位號","ROWID"

”作業(yè)公司作業(yè)一隊"JzyOlOOlAAAR7YAABAAAVChAAA"

”作業(yè)公司作業(yè)二隊","zy01002","AAAR7YAABAAAVChAAB"

”作業(yè)公司作業(yè)三^","zy01003","AAAR7YAABAAAVChAAC"

利用SQLPLUS查詢以下數(shù)據(jù):

采油一礦2隊2009-5-1到2009-5-28有哪些項目處于結(jié)算狀態(tài),列出相

應(yīng)材料費明細。結(jié)算狀態(tài)有值,不用管入賬是否有值。

SQL>select*fromzclfbwhere作業(yè)項目編號in

2(select單據(jù)號fromzybwhere預(yù)算單位='采油一礦2隊,

3and結(jié)算日期〉=to_date(2009-5-r,'yyyy-mm-dcT)

4*and結(jié)算日期<=1。_(^0(2009-5-287丫丫丫丫-111111-(1(1))

作業(yè)項目編號物碼消耗數(shù)量

單價

zy2009002wmOOl200

10

zy2009002wm002200

10

zy2009002wm003200

10

zy2009003wmOOl200

10

zy2009003wm002200

10

zy2009003wm003250

10

已選擇6行。

已用時刻:00:00:00.31

采油一礦2隊2009-5-1到2009-5-28總的入賬金額。

SQL>selectSUM(入帳金額)fromzyb

2where預(yù)算單位=,采油一礦2隊,

3and入賬日期>=TO_DATE('2009-5-1YYYY-MM-DD')

4*AND入賬日期<=TO_DATE(2009-5-28','YYYY-MM-DD)

SUM(入帳金額)

21300

采油一礦2009-5-1到2009-5-28總的入賬金額。

SQL>selectsum(入帳金額)fromzyb

2where預(yù)算單位like'采油一礦%,

3and入賬日期〉=to_date(2009-5-l?yyyy-mm-dcT)

4*and入賬日期<=1。_(^0(2009-5-28',?丫丫丫-111111-£1(1)

SUM(入帳金額)

33200

有哪些人員參與了入賬操作。

SQL>selectdistinct入賬人fromzyb;

入賬人

王五

趙六

2009-5-1到2009-5-28有結(jié)算未入帳的項目。

項目-單據(jù)號

SQL>SELECT單據(jù)號FROMZYB

2WHERE結(jié)算日期<=TO_DATE(2009528?YYYY-MM-DD,)

3AND結(jié)算日期〉=TO_DATE(2009-5-l?YYYY-MM-DD)

4*AND入賬人isNULL

5AND結(jié)算人isnotNULL

單據(jù)號

zy2009005

列出采油一礦2隊的所有項目,按入賬金額從高到低排列o

項目-項目號

SQL>select單據(jù)號,入賬金額fromzyb

2where預(yù)算單位=,采油一礦2隊,

3*orderby入賬金額desc

單據(jù)號入賬金額

zy200900210900

zy200900310400

列出有哪些單位實施了項目,并運算各單位所有項目結(jié)算金額總和。

SQL>SELECT施工單位,sum(結(jié)算金額)FROMZYB

2GROUPBY施工單位;

施工單位SUM(結(jié)算金額)

作業(yè)公司作業(yè)一隊11900

作業(yè)公司作業(yè)二隊21300

作業(yè)公司作業(yè)三隊21900

已用時刻:00:00:00.04

找出消耗了材料三且消耗超過了2000元的項目,列出相應(yīng)明細(利用子

查詢)。〃誰的明細?-該項目的

SQL>select*fromzybwhere單據(jù)號in

2(select作業(yè)項目編號fromzclfbwhere(消耗數(shù)量*單價)>2000

3*and物碼='wm003')

單據(jù)號預(yù)算單位井號

預(yù)算金額預(yù)算人預(yù)算日期開工日期

完工日期施工單位施工內(nèi)容材

料費人工費設(shè)備費其它費用結(jié)算金額結(jié)算人

結(jié)算日期入賬人入賬日期入賬

金額

zy2009003采油一礦2隊sOOl

10500張三01-5月-0906-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵65

002100500140010500李四

26-5月-09王五28-5月-0910400

已用時刻:00:00:00.28

作業(yè)公司二隊參與了哪些項目。

SQL>select單據(jù)號,施工單位FROMZYB

2*WHERE施工單位=,作業(yè)公司作業(yè)二隊,

單據(jù)號施工單位

zy2009002作業(yè)公司作業(yè)二隊

zy2009003作業(yè)公司作業(yè)二隊

已用時刻:00:00:00.01

作業(yè)公司一隊和二隊參與了哪些項目(利用union)。〃集合查詢

SQL>select單據(jù)號FROMZYB

2WHERE施工單位㈢作業(yè)公司作業(yè)一隊,

3UNION

4select單據(jù)號FROMZYB

5*WHERE施工單位士作業(yè)公司作業(yè)二隊,

單據(jù)號

zy2009001

zy2009002

zy2009003

已用時刻:00:00:00.01

利用SQLPLUS完成以下操作:

將編號為zy2009005的項目的人工費和結(jié)算金額增加100元。

-增加前的數(shù)據(jù)

SQL>select單據(jù)號,人工費,結(jié)算金額fromzyb;

單據(jù)號人工費結(jié)算金額

zy2009001250011900

zy2009002150010900

zy2009003200010400

zy2009004200010600

zy2009005100011300

已用時刻:00:00:00.00

SQL>updatezyb

2*set人工費=人工費+100,結(jié)算金額=結(jié)算金額+100

已更新5行。

已用時刻:00:00:00.14

-操作后的數(shù)據(jù)

SQL>select單據(jù)號,人工費,結(jié)算金額fromzyb;

單據(jù)號人工費結(jié)算金額

zy2009001260012000

zy2009002160011000

zy2009003210010500

zy2009004210010700

zy2009005110011400

已用時刻:00:00:00.00

刪除已結(jié)算未入帳的項目。(可結(jié)合查詢5)

-刪除前的數(shù)據(jù)

SQL>select單據(jù)號fromzyb;

單據(jù)號

zy2009001

zy2009002

zy2009003

zy2009004

zy2009005

zy2009006

SQL>deletefromzybwhere單據(jù)號=

2(select單據(jù)號fromzyb

3*where結(jié)算金額isnotnulland入賬金額isnull)

已刪除1行。

已用時刻:00:00:00.01

-刪除后結(jié)果

SQL>select單據(jù)號fromzyb;

單據(jù)號

zy2009001

zy2009002

zy2009003

zy2009004

zy2009006

已用時刻:00:00:00.00

利用SQLPLUS進行如下事務(wù)處理練習(把下列五條語句作為一個事

務(wù)處理,只有五條語句全部成功執(zhí)行才做提交,并給出提示信息;否則就

做回滾處理,并給出提示信息):

insertintozybvalues('zy2009006','112202002';y00510000,<H'07-0

1-2009',

,07-04-2009','07-25-2009';^業(yè)公司作業(yè)一隊?堵漏(7000,2500,1000,140

0;李四','07-26-2009',11900,五','07-28-2009',11900)

insertintoclfbvalues('zy2009006','wm00r,200,10)

insertintoclfbvalues('zy2009006','wm002',200,10)

insertintoclfbvalues('zy2009006','wm003',200,10)

insertintoclfbvalues('zy2009006','wm004',100,10)

CLFB--材料費表

SQL>insertintozybvalues('zy2009006','112202002';y00510000,<H

2to_date('2009-07-0r,'yyyy-mm-dd'),to_date('2009-07-04','yyyy-mm-

dd'),

3to_date(2009-07-25;yyyy-mm-ddb作業(yè)公司作業(yè)一隊?堵漏;

47000,2500,1000,1400,11900,'李K',to_dateC2009-07-26','yyyy-mm-d

d'),

5*'i5',to_dateC2009-07-287yyyy-mm-dd'),11900)

已創(chuàng)建1行。

已用時刻:00:00:00.29

SQL>savepointsi;

儲存點已創(chuàng)建。

已用時刻:00:00:00.00

SQL>insertintozclfbvalues('zy20090067wm00r,200,10);

已創(chuàng)建1行。

已用時刻:00:00:00.00

SQL>savepoints2;

儲存點已創(chuàng)建。

已用時刻:00:00:00.00

SQL>insertintozclfbvalues('zy20090067wm002',200,10);

已創(chuàng)建1行。

已用時刻:00:00:00.00

SQL>savepoints3;

儲存點已創(chuàng)建。

已用時刻:00:00:00.00

SQL>insertintozclfbvalues('zy2009006','wm003',200,10);

已創(chuàng)建1行。

已用時刻:00:00:00.00

SQL>savepoints4;

儲存點已創(chuàng)建。

已用時刻:00:00:00.01

SQL>insertintozclfbvalues('zy2009006','wm004',100,10);

已創(chuàng)建1行。

已用時刻:00:00:00.00

SQL>select*fromzybwhere單據(jù)號='zy2009006';--檢驗是否成功

單據(jù)號預(yù)算單位井號

預(yù)算金額預(yù)算人預(yù)算日期開工日期

完工日期施工單位施工內(nèi)容材

料費人工費設(shè)備費其它費用結(jié)算金額結(jié)算人

結(jié)算日期入賬人入賬日期入賬

金額

zy2009006112202002y005

10000張三01-7月-0904-7月-09

25-7月-09作業(yè)公司作業(yè)一隊堵漏70

0025001000140011900李四

26-7月-09王五28-7月-0911900

已用時刻:00:00:00.26

SQL>select*fromzclfbwhere作業(yè)項目編號='zy2009006';--檢驗

是否成功

作業(yè)項目編號物碼消耗數(shù)量

單價

zy2009006wmOOl200

10

zy2009006wm002200

10

zy2009006wm003200

10

zy2009006wm004100

10

已用時刻:00:00:00.01

SQL>commit;

提交完成。

已用時刻:00:00:00.00

利用SQLPLUS進行如下游標練習:

定義一個游標,用于存放作業(yè)表的全部行數(shù)據(jù)。并打印以下表頭和各

行數(shù)據(jù)。

表頭:單據(jù)號消耗單位井號預(yù)算金額預(yù)算人預(yù)算日期開工日期

完工日期施工單位施工內(nèi)容材料費人工費設(shè)備費其它費用結(jié)算金

額結(jié)算人結(jié)算日期入賬金額入賬人入賬日期

執(zhí)行以上所定義的游標,查看是否能正確輸出結(jié)果。

SQL>begin

2forzybm(select*fromzyb)

3loop

4dbms_output.put(單據(jù)號:[zyb.單據(jù)號');

5dbms_output.put(消耗單位:|||zyb.預(yù)算單位(');

6dbms_output.put('井號:'||zyb.井號/');

7dbms_output.putC預(yù)算金額:zyb.預(yù)算金額『");

9dbms_output.putC預(yù)算日期:zyb.預(yù)算日期/,);

10dbms_output.putC開工日期:zyb.開工日期(,);

11dbms_output.put(,完工日期:zyb.完工日期『,);

12dbms_output.putC施工單位:zyb.施工單位(,);

13dbms_output.putC施工內(nèi)容:'||zyb.施工內(nèi)容');

14dbms_output.putC材料費:|||zyb.材料費(');

15dbms_output.putC人工費:'llzyb.人工費『');

16dbms_output.putC設(shè)備費:丁zyb.設(shè)備費(');

17dbms_output.put('其它費用:,||zyb.其它費用『,);

18dbms_output.put('結(jié)算金額:'||zyb.結(jié)算金額『');

20dbms_output.put。結(jié)算日期:,||zyb.結(jié)算日期『,);

21dbms_output.put('入賬金額:zyb.入賬金額');

23dbms_output.put_line('入賬日期:丁zyb.入賬日期[');

24endloop;

25*end;

SQL>/

PL/SQL過程已成功完成。

已用時刻:00:00:00.03

利用SQLPLUS進行如下視圖練習:

利用SQLPLUS定義一個視圖,用于儲存作業(yè)表和材料費表的全部列。

利用SQLPLUS查詢該視圖,可任意選擇查詢條件,構(gòu)造出2個查詢?!?/p>

SQL>createviewzyb_zclfb_viewas

2select*fromzyb,zclfb

3*wherezyb.單據(jù)號=zclfb.作業(yè)項目編號

視圖已創(chuàng)建。

已用時刻:00:00:00.32

SQL>select*fromzyb_zclfb_view;

單據(jù)號預(yù)算單位井號

預(yù)算金額預(yù)算人預(yù)算日期開工日期

完工日期施工單位施工內(nèi)容材

料費人工費設(shè)備費其它費用結(jié)算金額結(jié)算人

結(jié)算日期入賬人入賬日期入賬

金額作業(yè)項目編號物碼消耗數(shù)量

單價

zy2009001采油一礦1隊yOOl

10000張三04-5月-0904-5月-09

25-5月-09作業(yè)公司作業(yè)一隊堵漏70

0026001000140012000李四

26-5月-09王五28-5月-0911900

zy2009001wmOOl2001

0

zy2009006112202002y005

10000張三01-7月-0904-7月-09

25-7月-09作業(yè)公司作業(yè)一隊堵漏70

0025001000140011900李四

26-7月-09王五28-7月-0911900

zy2009006wmOOl2001

0

zy2009006112202002y005

10000張三01-7月-0904-7月-09

25-7月-09作業(yè)公司作業(yè)一隊堵漏70

0025001000140011900李四

26-7月-09王五28-7月-0911900

zy2009006wm0022001

0

zy2009006112202002y005

10000張三01-7月-0904-7月-09

25-7月-09作業(yè)公司作業(yè)一隊堵漏70

0025001000140011900李四

26-7月-09王五28-7月-0911900

zy2009006wm0032001

0

zy2009006112202002y005

10000張三01-7月-0904-7月-09

25-7月-09作業(yè)公司作業(yè)一隊堵漏70

0025001000140011900李四

26-7月-09王五28-7月-0911900

zy2009006wm0041001

0

zy2009001采油一礦1隊yOOl

10000張三04-5月-0904-5月-09

25-5月-09作業(yè)公司作業(yè)一隊堵漏70

0026001000140012000李四

26-5月-09王五28-5月-0911900

zy2009001wm0022001

0

zy2009001采油一礦1隊yOOl

10000張三04-5月-0904-5月-09

25-5月-09作業(yè)公司作業(yè)一隊堵漏70

0026001000140012000李四

26-5月-09王五28-5月-0911900

zy2009001wm0032001

0

zy2009001采油一礦1隊yOOl

10000張三04-5月-0904-5月-09

25-5月-09作業(yè)公司作業(yè)一隊堵漏70

0026001000140012000李四

26-5月-09王五28-5月-0911900

zy2009001wm0041001

0

zy2009002采油一礦2隊y003

11000張三01-5月-0904-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵60

0016001000240011000李四

26-5月-王五28-5月-0910900

zy2009002wmOOl2001

0

zy2009002采油一礦2隊y003

11000張三01-5月-0904-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵60

0016001000240011000李四

26-5月-0<王五28-5月-0910900

zy2009002wm0022001

0

zy2009002采油一礦2隊y003

11000張三01-5月-0904-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵60

00160010002400111000李四

26-5月-09王五28-5月-0910900

zy2009002wm0032001

0

單據(jù)號預(yù)算單位井號

預(yù)算金額預(yù)算人預(yù)算日期開工日期

完工日期施工單位施工內(nèi)容材

料費人工費設(shè)備費其它費用結(jié)算金額結(jié)算人

結(jié)算日期入賬人入賬日期入賬

金額作業(yè)項目編號物碼消耗數(shù)量

單價

zy2009003采油一礦2隊sOOl

10500張三01-5月-0906-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵65

002100500140010500李四

26-5月-09王五28-5月-0910400

zy2009003wmOOl2001

0

zy2009003采油一礦2隊sOOl

10500張三01-5月-0906-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵65

002100500140010500李四

26-5月-09王五28-5月-0910400

zy2009003wm0022001

0

zy2009003采油一礦2隊sOOl

10500張三01-5月-0906-5月-09

23-5月-09作業(yè)公司作業(yè)二隊檢泵65

002100500140010500李四

26-5月-09王五28-5月-0910400

zy2009003wm0032501

0

zy2009004采油二礦1隊s002

12000張三01-5月-0904-5月-09

24-5月-09作業(yè)公司作業(yè)三隊防砂60

0021001000160010700李四

26-5月-09趙六28-5月-0910600

zy2009004wmOOl2001

0

zy2009004采油二礦1隊s002

12000張三01-5月-0904-5月-09

24-5月-09作業(yè)公司作業(yè)三隊防砂60

0021001000160010700李四

26-5月-09趙六28-5月-0910600

zy2009004wm0022001

zy2009004采油二礦1隊s002

12000張三01-5月-0904-5月-09

24-5月-09作業(yè)公司作業(yè)三隊防砂60

0021001000160010700李四

26-5月-0(趙六28-5月-0910600

zy2009004wm0042001

0

已選擇17行。

已用時刻:00:00:00.23

SQL>select單據(jù)號,預(yù)算單位,預(yù)算金額,物碼,(消耗數(shù)量*單價)

2*fromzyb_zclfb_view

單據(jù)號預(yù)算單位預(yù)算金額物碼

(消耗數(shù)量*單價)

zy2009001采油一礦1隊10000wmOOl

2000

zy200900611220200210000wmOOl

2000

zy200900611220200210000wm002

2000

zy200900611220200210000wm003

2000

zy200900611220200210000wm004

1000

zy2009001米油一礦1隊

10000wm002

2000

zy2009001米油一礦隊

110000wm003

2000

zy2009001采油一礦1隊10000wm004

1000

zy2009002采油一礦2隊11000wmOOl

2000

zy2009002采油一礦2隊11000wm002

2000

zy2009002采油一礦2隊11000wm003

2000

單據(jù)號預(yù)算單位預(yù)算金額物碼

(消耗數(shù)量*單價)

zy2009003采油一礦2隊10500wmOOl

2000

zy2009003采油一礦2隊10500wm002

2000

zy2009003采油一礦2隊10500wm003

2500

zy2009004采油二礦1隊12000wmOOl

2000

zy2009004采油二礦1隊12000wm002

2000

zy2009004采油二礦1隊12000wm004

2000

已選擇17行。

已用時刻:00:00:00.04

利用SQLPLUS定義一個儲備過程,要求完成以下功能:

生成某單位(單位能夠是采油廠或采油礦或采油隊)某段時刻內(nèi)的成本

運行情形(輸入?yún)?shù):單位代碼起始日期終止日期)

輸出格式***單位**時刻一**時刻成本運行情形

預(yù)算金額結(jié)算金額入賬金額未結(jié)算金額未入賬金額

其中未結(jié)算金額=預(yù)算金額-結(jié)算金額未入賬金額=結(jié)算金額-入賬金

(格式是自己弄的,老師的沒想出來…)

SQL>CREATEORREPLACEPROCEDUREDW_CBYX(

2DWNO_PARAMINvarchar2,QSRQ_PARAMINDATE,JSRQ_P

ARAMINDATE,

3預(yù)算金額_PARAMoutnumber,結(jié)算金額_PARAMoutnumber,

4入賬金額_PARAMoutnumber,

5未結(jié)算金額_PARAMoutnumber,未入賬金額_PARAMoutnum

ber)is

6BEGIN

7selectsum(預(yù)算金額),sum(結(jié)算金額),sum(入賬金額),sum(預(yù)算金

額-結(jié)算金額),

8sum(結(jié)算金額-入賬金額)

9into預(yù)算金額_PARAM,結(jié)算金額_PARAM,入賬金額_PARAM,未

結(jié)算金額_PARAM,

10未入賬金額_PARAM

11fromzybwhere

12結(jié)算日期〉=qsrq_param

13and結(jié)算日期<=jsrq_param

14and

15預(yù)算單位in

16(select單位名稱fromzdwdmbwhere單位代碼likeDWNO_P

ARAM);

17*endDW_CBYX;

過程已創(chuàng)建。

已用時刻:00:00:00.03

SQL>execdw_cbyx(l1220100l,to_date('2009-5-r,'yyyy-mm-dd'),to_date

(2009-5-28?yyyy-mm-dd):預(yù)算金額,:結(jié)算金額,:入賬金額,:未結(jié)算金額,:未

入賬金額);

PL/SQL過程已成功完成。

已用時刻:00:00:00.01

SQL>print預(yù)算金額結(jié)算金額入賬金額未結(jié)算金額未入賬金額

預(yù)算金額

10000

結(jié)算金額

12000

入賬金額

11900

未結(jié)算金額

-2000

未入賬金額

100

SQL>execdw_cbyx(112201002,to_date('2009-5-r,'yyyy-nim-dd'),to_dat

e(2009-5-28?yyyy-mm-dd):預(yù)算金額:結(jié)算金額,:入賬金額,:未結(jié)算金額,:未

入賬金額);

PL/SQL過程已成功完成。

已用時刻:00:00:00.01

SQL>print預(yù)算金額結(jié)算金額入賬金額未結(jié)算金額未入賬金額

預(yù)算金額

21500

結(jié)算金額

21500

入賬金額

21300

未結(jié)算金額

0

未入賬金額

200

SQL>execdw_cbyx(ll2202001,to_date('2009-5-r,'yyyy-mm-dd'),to_dat

e(2009528;yyyy-mm-dd):預(yù)算金額,:結(jié)算金額,:入賬金額,:未結(jié)算金額,:未

入賬金額);

PL/SQL過程已成功完成。

已用時刻:00:00:00.01

SQL>print預(yù)算金額結(jié)算金額入賬金額未結(jié)算金額未入賬金額

預(yù)算金額

12000

結(jié)算金額

10700

入賬金額

10600

未結(jié)算金額

1300

未入賬金額

100

利用SQLPLUS針對zyb定義三個觸發(fā)器,分別完成以下功能:

對zyb插入一行數(shù)據(jù)時,自動運算并插入結(jié)算金額字段(結(jié)算金額=材

料費+人工費+設(shè)備費+其它費用)

SQL>createorreplacetriggerinsert_op

2afterinsert

3onzyb

4begin

5updatezyb

6set結(jié)算金額=(材料費+人工費+設(shè)備費+其它費用);

7*endinsert_op;

觸發(fā)器已創(chuàng)建

已用時刻:00:00:00.03

SQL>insertintozyb(單據(jù)號,預(yù)算單位,井號,預(yù)算金額,預(yù)算人,預(yù)算日

期,材料費,人工費,設(shè)備費,其它費用)

2valuesCz

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論