中國(guó)石油大學(xué)(華東)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)答案(sql語(yǔ)句)_第1頁(yè)
中國(guó)石油大學(xué)(華東)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)答案(sql語(yǔ)句)_第2頁(yè)
中國(guó)石油大學(xué)(華東)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)答案(sql語(yǔ)句)_第3頁(yè)
中國(guó)石油大學(xué)(華東)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)答案(sql語(yǔ)句)_第4頁(yè)
中國(guó)石油大學(xué)(華東)數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)答案(sql語(yǔ)句)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)三/*CREATE TABLE UNITNO(單位代碼 VARCHAR(20), 單位名稱 VARCHAR(30) );CREATE TABLE OILWELL(井號(hào) VARCHAR(20), 井別 VARCHAR(20), 單位代碼 VARCHAR(20), ); CREATE TABLE CONSTRUCTIONUNIT(施工單位名稱 VARCHAR(30) );CREATE TABLE GOODSNO(物碼 VARCHAR(20), 名稱規(guī)格 VARCHAR(30), 計(jì)量單位 VARCHAR(20) ); CREATE TABLE COST(單據(jù)號(hào) VAR

2、CHAR(20), 預(yù)算單位 VARCHAR(20), 井號(hào) VARCHAR(20), 預(yù)算金額 FLOAT, 預(yù)算人 VARCHAR(20), 預(yù)算日期 DATE, 開(kāi)工日期 DATE, 完工日期 DATE, 施工單位 VARCHAR(30), 施工內(nèi)容 VARCHAR(50), 材料費(fèi) FLOAT, 人工費(fèi) FLOAT, 設(shè)備費(fèi) FLOAT, 其他費(fèi)用 FLOAT, 結(jié)算金額 FLOAT, 結(jié)算人 VARCHAR(20), 結(jié)算日期 DATE, 入賬金額 FLOAT, 入賬人 VARCHAR(20), 入賬日期 DATE ); CREATE TABLE MATERIALPRICE(單據(jù)號(hào)

3、VARCHAR(20), 物碼 VARCHAR(20), 消耗數(shù)量 BIGINT, 單價(jià) FLOAT ); */ /*INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('1122','采油廠');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('','采油一礦');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('','采油二礦');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('',&#

4、39;采油一礦一隊(duì)');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('','采油一礦二隊(duì)');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('','采油一礦三隊(duì)');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('','采油二礦一隊(duì)');INSERT INTO UNITNO(單位代碼,單位名稱)VALUES('','采油二礦二隊(duì)');INSERT INTO OILWELL(井號(hào),井

5、別,單位代碼)VALUES('y001','油井','');INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('y002','油井','');INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('y003','油井','');INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('s001','水井','');INSERT INTO

6、OILWELL(井號(hào),井別,單位代碼)VALUES('y004','油井','');INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('s002','水井','');INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('s003','水井','');INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('y005','油井','');

7、INSERT INTO CONSTRUCTIONUNIT(施工單位名稱)VALUES('作業(yè)公司作業(yè)一隊(duì)');INSERT INTO CONSTRUCTIONUNIT(施工單位名稱)VALUES('作業(yè)公司作業(yè)二隊(duì)');INSERT INTO CONSTRUCTIONUNIT(施工單位名稱)VALUES('作業(yè)公司作業(yè)三隊(duì)');INSERT INTO GOODSNO(物碼,名稱規(guī)格,計(jì)量單位)VALUES('wm001','材料一','噸');INSERT INTO GOODSNO(物碼,名稱規(guī)格,

8、計(jì)量單位)VALUES('wm002','材料二','米');INSERT INTO GOODSNO(物碼,名稱規(guī)格,計(jì)量單位)VALUES('wm003','材料三','桶');INSERT INTO GOODSNO(物碼,名稱規(guī)格,計(jì)量單位)VALUES('wm004','材料四','袋');INSERT INTO COST(單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期,開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,材料費(fèi), 人工費(fèi),設(shè)備費(fèi),其他費(fèi)

9、用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('ZY','','y001','10000.00','張三','2016-5-1','2016-5-4','2016-5-25','作業(yè)公司作業(yè)一隊(duì)', '堵漏','7000.00','2500.00','1000.00','1400.00','11900.00','李四

10、9;,'2016-5-26','11900.00','王五','2016-5-28'); INSERT INTO COST(單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期,開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,材料費(fèi), 人工費(fèi),設(shè)備費(fèi),其他費(fèi)用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('ZY','','y003','11000.00','張三','2016-5-1','2016-5-4'

11、;,'2016-5-23','作業(yè)公司作業(yè)二隊(duì)', '檢泵','6000.00','1500.00','1000.00','2400.00','10900.00','李四','2016-5-26','10900.00','王五','2016-5-28'); INSERT INTO COST(單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期,開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,材料費(fèi),

12、 人工費(fèi),設(shè)備費(fèi),其他費(fèi)用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('ZY','','s001','10500.00','張三','2016-5-1','2016-5-6','2016-5-23','作業(yè)公司作業(yè)二隊(duì)', '調(diào)剖','6500.00','2000.00','500.00','1400.00','10400.00'

13、,'李四','2016-5-26','10400.00','王五','2016-5-28'); INSERT INTO COST(單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期,開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,材料費(fèi), 人工費(fèi),設(shè)備費(fèi),其他費(fèi)用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('ZY','','s002','12000.00','張三','2016-5-1','2

14、016-5-4','2016-5-24','作業(yè)公司作業(yè)三隊(duì)', '解堵','6000.00','2000.00','1000.00','1600.00','10600.00','李四','2016-5-26','10600.00','趙六','2016-5-28'); INSERT INTO COST(單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期,開(kāi)工日期,完工日期,施工單

15、位,施工內(nèi)容,材料費(fèi), 人工費(fèi),設(shè)備費(fèi),其他費(fèi)用,結(jié)算金額,結(jié)算人,結(jié)算日期)VALUES('ZY','','y005','12000.00','張三','2016-5-1','2016-5-4','2016-5-28','作業(yè)公司作業(yè)三隊(duì)', '防砂','7000.00','1000.00','2000.00','1300.00','11300.00',&

16、#39;李四','2016-6-1'); INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm001','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm002','200','10.00'); INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES(&#

17、39;ZY','wm003','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm004','100','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm001','200','10.00');INSERT INTO MATERIALPRICE(

18、單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm002','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm003','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm001','200','10.00');IN

19、SERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm002','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm003','250','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm001','200&

20、#39;,'10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm002','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm004','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY',&

21、#39;wm001','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm002','200','10.00');INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('ZY','wm004','300','10.00');UPDATE COSTSET 人工費(fèi)=人工費(fèi)+200.00,結(jié)算金額=結(jié)算金

22、額+200.00WHERE 單據(jù)號(hào)='zy'DELETEFROM COSTWHERE 入賬金額 IS NULL OR 入賬人 IS NULL OR 入賬日期 IS NULL;BEGIN TRANUPDATE COSTSET 人工費(fèi)=人工費(fèi)+200.00,結(jié)算金額=結(jié)算金額+200.00WHERE 單據(jù)號(hào)='zy'DELETEFROM COSTWHERE 入賬金額 IS NULL OR 入賬人 IS NULL OR 入賬日期 IS NULL;ROLLBACK TRAN實(shí)驗(yàn)四CREATE INDEX yDATE ON COST(預(yù)算日期);CREATE INDEX

23、jDATE ON COST(結(jié)算日期); CREATE INDEX rDATE ON COST(入賬日期);SELECT DISTINCT * FROM COST,UNITNOWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28' AND 預(yù)算金額 IS NOT NULL AND 預(yù)算日期 IS NOT NULL AND 預(yù)算人 IS NOT NULL;SELECT DISTINCT * FROM COST,UNITNOWHERE 單位名稱=

24、'采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28' AND 結(jié)算金額 IS NOT NULL AND 結(jié)算人 IS NOT NULL AND 結(jié)算日期 IS NOT NULL;SELECT DISTINCT MATERIALPRICE.單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià)FROM COST,MATERIALPRICE,UNITNOWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1

25、9;AND 入賬日期<='2016-5-28'AND MATERIALPRICE.單據(jù)號(hào)=COST.單據(jù)號(hào);SELECT DISTINCT * FROM COST,UNITNOWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28' AND 入賬金額 IS NOT NULL AND 入賬人 IS NOT NULL AND 入賬日期 IS NOT NULL;SELECT 預(yù)算總額=SUM(DISTINCT 預(yù)算金額)FROM

26、 UNITNO,COSTWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28'SELECT 結(jié)算總額=SUM(DISTINCT 結(jié)算金額)FROM UNITNO,COSTWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28'SELECT 入賬總額=SUM(DISTINCT 入賬金額)FROM

27、 UNITNO,COSTWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28'SELECT 一礦入賬總額=SUM(DISTINCT 入賬金額)FROM UNITNO,COSTWHERE 單位名稱 LIKE '采油一礦%'AND 預(yù)算單位=單位代碼 AND 入賬日期>='2016-5-1'AND 入賬日期<='2016-5-28'SELECT DISTINCT 入賬人FROM COST

28、WHERE 入賬人 IS NOT NULL;SELECT DISTINCT 單據(jù)號(hào)FROM COSTWHERE 結(jié)算日期>='2016-5-1' AND 結(jié)算日期<='2016-5-28' AND 入賬金額 IS NULL AND 結(jié)算金額 IS NOT NULL ;SELECT DISTINCT 單據(jù)號(hào),入賬金額FROM COST,UNITNOWHERE 單位名稱='采油一礦二隊(duì)'AND 預(yù)算單位=單位代碼ORDER BY 入賬金額 DESC;SELECT 單位名稱,結(jié)算金額總和=SUM(DISTINCT 結(jié)算金額),項(xiàng)目數(shù)=COU

29、NT(DISTINCT 結(jié)算金額)FROM COST,UNITNOWHERE 預(yù)算單位=單位代碼GROUP BY 單位名稱;SELECT distinct 單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià)FROM MATERIALPRICEWHERE 物碼 IN( SELECT 物碼 FROM GOODSNOWHERE 名稱規(guī)格='材料三')AND 單價(jià)*消耗數(shù)量>=2000;SELECT DISTINCT 單據(jù)號(hào)FROM COSTWHERE 施工單位 ='作業(yè)公司作業(yè)二隊(duì)'SELECT 單據(jù)號(hào),施工單位FROM COST WHERE 施工單位 ='作業(yè)公司作業(yè)二隊(duì)&

30、#39;UNIONSELECT 單據(jù)號(hào),施工單位FROM COSTWHERE 施工單位 ='作業(yè)公司作業(yè)一隊(duì)'SELECT DISTINCT 施工單位FROM COST,OILWELL,UNITNOWHERE 預(yù)算單位=UNITNO.單位代碼 AND UNITNO.單位代碼=OILWELL.單位代碼 AND 單位名稱 LIKE '采油一礦%'CREATE TABLE 數(shù)據(jù)表(施工單位 VARCHAR(30), 年月 VARCHAR(20),結(jié)算金額 FLOAT);INSERT INTO 數(shù)據(jù)表(施工單位,年月,結(jié)算金額)(SELECT 施工單位,YEAR(結(jié)算日

31、期)*100+MONTH(結(jié)算日期),SUM(結(jié)算金額) FROM COST GROUP BY 施工單位,YEAR(結(jié)算日期)*100+MONTH(結(jié)算日期); UPDATE COST SET 結(jié)算人='李兵' WHERE 預(yù)算單位 IN( SELECT 單位代碼 FROM UNITNO WHERE 單位代碼=預(yù)算單位 AND 單位名稱 Like '采油一礦%' );DELETE FROM COSTWHERE 預(yù)算單位 IN (SELECT 單位代碼 FROM UNITNO WHERE 單位代碼=預(yù)算單位 AND 單位名稱 Like '采油一礦%'

32、;); BEGIN TRAN UPDATE COST SET 結(jié)算人='李兵' WHERE 預(yù)算單位 IN( SELECT 單位代碼 FROM UNITNO WHERE 單位代碼=預(yù)算單位 AND 單位名稱 Like '采油一礦%' );DELETE FROM COSTWHERE 預(yù)算單位 IN( SELECT 單位代碼 FROM UNITNO WHERE 單位代碼=預(yù)算單位 AND 單位名稱 Like '采油一礦%');ROLLBACK TRANDROP INDEX yDATE ON COST;DROP INDEX jDATE ON COST;

33、DROP INDEX rDATE ON COST;實(shí)驗(yàn)五ALTER TABLE 數(shù)據(jù)表 ADD 備注 CHAR; SELECT * FROM 數(shù)據(jù)表; ALTER TABLE 數(shù)據(jù)表ALTER COLUMN 施工單位 VARCHAR(30) NOT NULL;ALTER TABLE 數(shù)據(jù)表 ADD PRIMARY KEY(施工單位); DELETE FROM 數(shù)據(jù)表; DROP TABLE 數(shù)據(jù)表 ;ALTER TABLE UNITNO ALTER COLUMN 單位代碼 VARCHAR(20) NOT NULL; ALTER TABLE UNITNO ADD CONSTRAINT UNI_N

34、UM PRIMARY KEY(單位代碼); ALTER TABLE OILWELL ALTER COLUMN 井號(hào) VARCHAR(20) NOT NULL; ALTER TABLE OILWELL ADD CONSTRAINT WELL_NUM PRIMARY KEY(井號(hào)); ALTER TABLE GOODSNO ALTER COLUMN 物碼 VARCHAR(20) NOT NULL; ALTER TABLE GOODSNO ADD CONSTRAINT GOOD_NUM PRIMARY KEY(物碼); ALTER TABLE COST ALTER COLUMN 單據(jù)號(hào) VARCHA

35、R(20) NOT NULL; ALTER TABLE COST ADD CONSTRAINT COST_NUM PRIMARY KEY( 單據(jù)號(hào)); ALTER TABLE MATERIALPRICE ALTER COLUMN 單據(jù)號(hào) VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE ALTER COLUMN 物碼 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE ADD PRIMARY KEY(單據(jù)號(hào),物碼);ALTER TABLE CONSTRUCTIONUNIT ALTER COLUMN 施工單

36、位名稱 VARCHAR(30) NOT NULL; ALTER TABLE CONSTRUCTIONUNIT ADD CONSTRAINT UNI_NAME PRIMARY KEY(施工單位名稱); INSERT INTO MATERIALPRICE VALUES('zy','wm004',100,10);INSERT INTO MATERIALPRICE VALUES('zy',NULL,200,10);ALTER TABLE OILWELLALTER COLUMN 單位代碼 VARCHAR(20) NOT NULL;ALTER TABLE O

37、ILWELLADD CONSTRAINT UNI_NUM2 FOREIGN KEY(單位代碼) REFERENCES UNITNO(單位代碼); ALTER TABLE COST ALTER COLUMN 井號(hào) VARCHAR(20) NOT NULL; ALTER TABLE COST ADD CONSTRAINT WELL_NUM2 FOREIGN KEY(井號(hào)) REFERENCES OILWELL(井號(hào)); ALTER TABLE MATERIALPRICE ALTER COLUMN 物碼 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE

38、ADD CONSTRAINT GOOD_NUM2 FOREIGN KEY(物碼) REFERENCES GOODSNO(物碼); INSERT INTO OILWELL(井號(hào),井別,單位代碼)VALUES('y007','油井',''); INSERT INTO MATERIALPRICE(單據(jù)號(hào),物碼,消耗數(shù)量,單價(jià))VALUES('zy','wm006','100','10.00'); UPDATE COST SET 施工單位='作業(yè)公司作業(yè)五隊(duì)' WHERE 單

39、據(jù)號(hào)='ZY' DELETE FROM UNITNO WHERE 單位名稱='采油二礦二隊(duì)' AND 單位代碼='' UPDATE GOODSNO SET 物碼='wm04' WHERE 物碼='wm004' BEGIN TRAN UPDATE COST SET 施工單位='作業(yè)公司作業(yè)五隊(duì)' WHERE 單據(jù)號(hào)='ZY' DELETE FROM UNITNO WHERE 單位名稱='采油二礦二隊(duì)' AND 單位代碼='' UPDATE GOODSNO

40、 SET 物碼='wm04' WHERE 物碼='wm004' ROLLBACK TRANALTER TABLE UNITNOALTER COLUMN 單位名稱 VARCHAR(30) NOT NULL;ALTER TABLE UNITNO ADD UNIQUE(單位名稱);ALTER TABLE OILWELLALTER COLUMN 單位代碼 VARCHAR(20) NOT NULL;ALTER TABLE OILWELLADD CONSTRAINT OIL_CHECK CHECK(井別 IN('油井','水井');ALTER

41、 TABLE GOODSNOALTER COLUMN 名稱規(guī)格 VARCHAR(30) NOT NULL;ALTER TABLE GOODSNO ADD UNIQUE(名稱規(guī)格);ALTER TABLE GOODSNO ALTER COLUMN 計(jì)量單位 VARCHAR(20) NOT NULL;ALTER TABLE MATERIALPRICEALTER COLUMN 消耗數(shù)量 BIGINT NOT NULL;ALTER TABLE MATERIALPRICEALTER COLUMN 單價(jià) FLOAT NOT NULL;ALTER TABLE COSTALTER COLUMN 預(yù)算人 VAR

42、CHAR(20) NOT NULL;BEGIN TRANSACTIONGOCREATE VIEW COST_PRICEAS SELECT COST.*,物碼,消耗數(shù)量,單價(jià)FROM COST,MATERIALPRICEwhere COST.單據(jù)號(hào)=MATERIALPRICE.單據(jù)號(hào);SELECT 單據(jù)號(hào),物碼 FROM COST_PRICE WHERE 物碼='wm002'SELECT 單據(jù)號(hào),單價(jià) FROM COST_PRICE WHERE 單據(jù)號(hào)='ZY'and 物碼='wm001' GO CREATE VIEW YUSUAN AS SELE

43、CT 單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期 FROM COST; INSERT INTO YUSUAN VALUES('zy','','y005',10000,'張三', '2016-07-02'); ROLLBACK */實(shí)驗(yàn)六BEGIN TRANSACTIONINSERT INTO COST VALUES('zy','','y005',10000,'張三', '07-01-2016' ,'07-04-2016&

44、#39;,'07-25-2016','作業(yè)公司作業(yè)一隊(duì)','堵漏',7000,2500,1000,1400,11900,'李四','07-26-2016',11900,'王五','07-28-2016');IF ERROR<>0BEGINPRINT '第一條插入出錯(cuò)'ROLLBACKENDELSE BEGINPRINT '第一條插入成功'COMMIT TRANSACTIONENDBEGIN TRANSACTION insert into M

45、ATERIALPRICE values('zy','wm001',200,10);IF ERROR<>0BEGINPRINT '第二條插入出錯(cuò)'ROLLBACKENDELSE BEGINPRINT '第二條插入成功'COMMIT TRANSACTIONENDBEGIN TRANSACTIONinsert into MATERIALPRICE values('zy','wm002',200,10);IF ERROR<>0BEGINPRINT '第三條插入出錯(cuò)'R

46、OLLBACKENDELSE BEGINPRINT '第三條插入成功'COMMIT TRANSACTIONENDBEGIN TRANSACTIONinsert into MATERIALPRICE values('zy','wm003',200,10);IF ERROR<>0BEGINPRINT '第四條插入出錯(cuò)'ROLLBACKENDELSE BEGINPRINT '第四條插入成功'COMMIT TRANSACTIONENDBEGIN TRANSACTIONinsert into MATERIALPR

47、ICE values('zy','wm004',100,10);IF ERROR<>0BEGINPRINT '第五條插入出錯(cuò)'ROLLBACKENDELSE BEGINPRINT '第五條插入成功'COMMIT TRANSACTIONENDBEGIN TRANSACTIONDECLARE COST_CUR SCROLL CURSORFOR SELECT *FROM COST;OPEN COST_CUR;DECLARE 單據(jù)號(hào) VARCHAR(20)DECLARE 預(yù)算單位 VARCHAR(20)DECLARE 井號(hào) V

48、ARCHAR(20)DECLARE 預(yù)算金額 FLOATDECLARE 預(yù)算人 VARCHAR(20)DECLARE 預(yù)算日期 DATEDECLARE 開(kāi)工日期 DATEDECLARE 完工日期 DATEDECLARE 施工單位 VARCHAR(30)DECLARE 施工內(nèi)容 VARCHAR(50)DECLARE 材料費(fèi) FLOATDECLARE 人工費(fèi) FLOATDECLARE 設(shè)備費(fèi) FLOATDECLARE 其他費(fèi)用 FLOATDECLARE 結(jié)算金額 FLOATDECLARE 結(jié)算人 VARCHAR(20)DECLARE 結(jié)算日期 DATEDECLARE 入賬金額 FLOATDECLA

49、RE 入賬人 VARCHAR(20)DECLARE 入賬日期 DATEPRINT '單據(jù)號(hào) '+'預(yù)算單位 '+'井號(hào) '+'預(yù)算金額 '+'預(yù)算人'+' 預(yù)算日期' +' 開(kāi)工日期'+' 完工日期'+' 施工單位'+'施工內(nèi)容'+'材料費(fèi)'+' 人工費(fèi)'+' 設(shè)備費(fèi)'+' 其它費(fèi)用'+' 結(jié)算金額'+' 結(jié)算人'+'結(jié)算日期'

50、;+' 入賬金額' +' 入賬人'+' 入賬日期'FETCH FIRST FROM COST_CRUINTO 單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期, 開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,材料費(fèi),人工費(fèi), 設(shè)備費(fèi),其他費(fèi)用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期 WHILE(FETCH_STATUS=0)BEGINPRINT +單據(jù)號(hào)+預(yù)算單位 +井號(hào) +預(yù)算金額 +' '+預(yù)算人+' '+預(yù)算日期 +' '+開(kāi)工日期 +' '+完工日期 +'

51、 '+施工單位 +' '+施工內(nèi)容 +材料費(fèi)+人工費(fèi) +設(shè)備費(fèi)+其他費(fèi)用 +結(jié)算金額 +' ' +結(jié)算人 +' '+結(jié)算日期 +入賬金額 +' '+入賬人 +入賬日期FETCH NEXT FROM COST_CRUINTO單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期, 開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,材料費(fèi),人工費(fèi), 設(shè)備費(fèi),其他費(fèi)用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期 END ;if OBJECT_ID('YUNXING_SITU','p') is not

52、 nulldrop procedure YUNXING_SITU; go CREATE PROCEDURE YUNXING_SITU DANWEIDAIMA VARCHAR(30),STARTTIME DATE,ENDTIME DATE AS DECLARE DANWEIMING VARCHAR(30); DECLARE YSMONEY money,JSMONEY money,RZMONEY money, NOJSMONEY money,NORUZHANGMONEY money; SELECT DANWEIMING='單位名稱' FROM UNITNO WHERE DANWEI

53、DAIMA='單位代碼' SET YSMONEY=(SELECT SUM(預(yù)算金額) FROM COST WHERE 預(yù)算單位 LIKE DANWEIDAIMA+'%' AND 預(yù)算日期 BETWEEN STARTTIME AND ENDTIME and 預(yù)算金額 is not null) SET JSMONEY=(SELECT SUM(結(jié)算金額)FROM COST WHERE 預(yù)算單位 LIKE DANWEIDAIMA+'%'AND 結(jié)算日期 BETWEEN STARTTIME AND ENDTIME and 結(jié)算金額 is not null)

54、SET RZMONEY=(SELECT SUM(入賬金額)FROM COST WHERE 預(yù)算單位 LIKE DANWEIDAIMA+'%'AND 入賬日期 BETWEEN STARTTIME AND ENDTIME AND 入賬人 IS NOT NULL)SET NOJSMONEY=(SELECT SUM(預(yù)算金額)FROM COST WHERE 預(yù)算日期 BETWEEN STARTTIME AND ENDTIME AND 結(jié)算金額 IS NULL) SET NORUZHANGMONEY=(SELECT SUM(結(jié)算金額)FROM COST WHERE 結(jié)算日期 BETWEE

55、N STARTTIME AND ENDTIME AND 入賬人 IS NULL)IF YSMONEY IS NULL SET YSMONEY=0IF JSMONEY IS NULL SET JSMONEY=0IF RZMONEY IS NULL SET RZMONEY=0IF NOJSMONEY IS NULL SET NOJSMONEY=0IF NORUZHANGMONEY IS NULL SET NORUZHANGMONEY=0SET NOJSMONEY=YSMONEY-JSMONEYSET NORUZHANGMONEY=JSMONEY-RZMONEY/*DECLARE RESULT VA

56、RCHAR(100) SET RESULT=CONVERT(VARCHAR,YSMONEY)+' '+CONVERT(VARCHAR,JSMONEY)+' '+CONVERT(VARCHAR,RZMONEY)+' '+CONVERT(VARCHAR,NOJSMONEY)+' '+CONVERT(VARCHAR,NORUZHANGMONEY)PRINT DANWEIMING+'單位'+CONVERT(VARCHAR,STARTTIME,102)+'-'+CONVERT(VARCHAR,ENDTIME,

57、102)+'成本運(yùn)行情況'PRINT '預(yù)算金額 結(jié)算金額 入賬金額 未結(jié)算金額 未入賬金額'PRINT RESULT*/print DANWEIMING+convert(varchar,STARTTIME,102)+'-'+convert(varchar,ENDTIME,102)+' 成本運(yùn)營(yíng)情況'print '預(yù)算金額結(jié)算金額入賬金額未結(jié)算金額未入賬金額'print convert(varchar,YSMONEY)+' '+convert(varchar,JSMONEY)+' '

58、+convert(varchar,RZMONEY)+' '+convert(varchar,NOJSMONEY)+' '+convert(varchar,NORUZHANGMONEY);GOEXECUTE YUNXING_SITU DANWEIDAIMA='1122',STARTTIME='2016-5-1',ENDTIME='2016-5-29'EXECUTE YUNXING_SITU DANWEIDAIMA='',STARTTIME='2016-5-1',ENDTIME='

59、;2016-5-29'EXECUTE YUNXING_SITU DANWEIDAIMA='',STARTTIME='2016-5-1',ENDTIME='2016-5-29'GO實(shí)驗(yàn)七if OBJECT_ID('TRR','TR')is not nulldrop trigger TRRGOCREATE TRIGGER TRR ON COSTAFTER INSERTASDECLAREJS_MONEY MONEY;DECLAREMA_MONEY MONEY,PE_MONEY MONEY,EQ_MONEY MON

60、EY,EL_MONEY MONEY;SELECT MA_MONEY=材料費(fèi),PE_MONEY=人工費(fèi),EQ_MONEY=設(shè)備費(fèi),EL_MONEY=其他費(fèi)用FROM COST;SET JS_MONEY=MA_MONEY+PE_MONEY+EQ_MONEY+EL_MONEY;UPDATE COSTSET 結(jié)算金額=JS_MONEYWHERE 單據(jù)號(hào)=(select 單據(jù)號(hào) from inserted);GOINSERT INTO COST(單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期,開(kāi)工日期,完工日期,施工單位,施工內(nèi)容,人工費(fèi),設(shè)備費(fèi), 材料費(fèi),其他費(fèi)用,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('zy',''

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論