中國石油大學(華東)數(shù)據(jù)庫原理實驗答案(sql語句)_第1頁
中國石油大學(華東)數(shù)據(jù)庫原理實驗答案(sql語句)_第2頁
中國石油大學(華東)數(shù)據(jù)庫原理實驗答案(sql語句)_第3頁
中國石油大學(華東)數(shù)據(jù)庫原理實驗答案(sql語句)_第4頁
中國石油大學(華東)數(shù)據(jù)庫原理實驗答案(sql語句)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

12、 人工費,設備費,其他費用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('ZY','','s001','10500.00','張三','2016-5-1','2016-5-6','2016-5-23','作業(yè)公司作業(yè)二隊', '調(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ù)號,預算單位,井號,預算金額,預算人,預算日期,開工日期,完工日期,施工單位,施工內(nèi)容,材料費, 人工費,設備費,其他費用,結(jié)算金額,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('ZY','','s002','12000.00','張三','2016-5-1','2

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

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

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

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

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

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

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

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

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

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

24、'采油一礦二隊'AND 預算單位=單位代碼 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ù)號,物碼,消耗數(shù)量,單價FROM COST,MATERIALPRICE,UNITNOWHERE 單位名稱='采油一礦二隊'AND 預算單位=單位代碼 AND 入賬日期>='2016-5-1

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

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

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

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

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

30、#39;UNIONSELECT 單據(jù)號,施工單位FROM COSTWHERE 施工單位 ='作業(yè)公司作業(yè)一隊'SELECT DISTINCT 施工單位FROM COST,OILWELL,UNITNOWHERE 預算單位=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 預算單位 IN( SELECT 單位代碼 FROM UNITNO WHERE 單位代碼=預算單位 AND 單位名稱 Like '采油一礦%' );DELETE FROM COSTWHERE 預算單位 IN (SELECT 單位代碼 FROM UNITNO WHERE 單位代碼=預算單位 AND 單位名稱 Like '采油一礦%'

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

33、DROP INDEX rDATE ON COST;實驗五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 井號 VARCHAR(20) NOT NULL; ALTER TABLE OILWELL ADD CONSTRAINT WELL_NUM PRIMARY KEY(井號); ALTER TABLE GOODSNO ALTER COLUMN 物碼 VARCHAR(20) NOT NULL; ALTER TABLE GOODSNO ADD CONSTRAINT GOOD_NUM PRIMARY KEY(物碼); ALTER TABLE COST ALTER COLUMN 單據(jù)號 VARCHA

35、R(20) NOT NULL; ALTER TABLE COST ADD CONSTRAINT COST_NUM PRIMARY KEY( 單據(jù)號); ALTER TABLE MATERIALPRICE ALTER COLUMN 單據(jù)號 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE ALTER COLUMN 物碼 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE ADD PRIMARY KEY(單據(jù)號,物碼);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 井號 VARCHAR(20) NOT NULL; ALTER TABLE COST ADD CONSTRAINT WELL_NUM2 FOREIGN KEY(井號) REFERENCES OILWELL(井號); ALTER TABLE MATERIALPRICE ALTER COLUMN 物碼 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE

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

39、據(jù)號='ZY' DELETE FROM UNITNO WHERE 單位名稱='采油二礦二隊' AND 單位代碼='' UPDATE GOODSNO SET 物碼='wm04' WHERE 物碼='wm004' BEGIN TRAN UPDATE COST SET 施工單位='作業(yè)公司作業(yè)五隊' WHERE 單據(jù)號='ZY' DELETE FROM UNITNO WHERE 單位名稱='采油二礦二隊' 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 計量單位 VARCHAR(20) NOT NULL;ALTER TABLE MATERIALPRICEALTER COLUMN 消耗數(shù)量 BIGINT NOT NULL;ALTER TABLE MATERIALPRICEALTER COLUMN 單價 FLOAT NOT NULL;ALTER TABLE COSTALTER COLUMN 預算人 VAR

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

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

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

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

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

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

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

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

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

51、 '+施工單位 +' '+施工內(nèi)容 +材料費+人工費 +設備費+其他費用 +結(jié)算金額 +' ' +結(jié)算人 +' '+結(jié)算日期 +入賬金額 +' '+入賬人 +入賬日期FETCH NEXT FROM COST_CRUINTO單據(jù)號,預算單位,井號,預算金額,預算人,預算日期, 開工日期,完工日期,施工單位,施工內(nè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(預算金額) FROM COST WHERE 預算單位 LIKE DANWEIDAIMA+'%' AND 預算日期 BETWEEN STARTTIME AND ENDTIME and 預算金額 is not null) SET JSMONEY=(SELECT SUM(結(jié)算金額)FROM COST WHERE 預算單位 LIKE DANWEIDAIMA+'%'AND 結(jié)算日期 BETWEEN STARTTIME AND ENDTIME and 結(jié)算金額 is not null)

54、SET RZMONEY=(SELECT SUM(入賬金額)FROM COST WHERE 預算單位 LIKE DANWEIDAIMA+'%'AND 入賬日期 BETWEEN STARTTIME AND ENDTIME AND 入賬人 IS NOT NULL)SET NOJSMONEY=(SELECT SUM(預算金額)FROM COST WHERE 預算日期 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)+'成本運行情況'PRINT '預算金額 結(jié)算金額 入賬金額 未結(jié)算金額 未入賬金額'PRINT RESULT*/print DANWEIMING+convert(varchar,STARTTIME,102)+'-'+convert(varchar,ENDTIME,102)+' 成本運營情況'print '預算金額結(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實驗七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=材料費,PE_MONEY=人工費,EQ_MONEY=設備費,EL_MONEY=其他費用FROM COST;SET JS_MONEY=MA_MONEY+PE_MONEY+EQ_MONEY+EL_MONEY;UPDATE COSTSET 結(jié)算金額=JS_MONEYWHERE 單據(jù)號=(select 單據(jù)號 from inserted);GOINSERT INTO COST(單據(jù)號,預算單位,井號,預算金額,預算人,預算日期,開工日期,完工日期,施工單位,施工內(nèi)容,人工費,設備費, 材料費,其他費用,結(jié)算人,結(jié)算日期,入賬金額,入賬人,入賬日期)VALUES('zy',''

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論