中国石油大学(华东)数据库原理实验答案(sql语句)

更新时间:2024-05-28 20:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三

/*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), 名称规格 VARCHAR(30), 计量单位 VARCHAR(20) );

CREATE TABLE COST(单据号 VARCHAR(20), 预算单位 VARCHAR(20), 井号 VARCHAR(20), 预算金额 FLOAT, 预算人 VARCHAR(20), 预算日期 DATE, 开工日期 DATE, 完工日期 DATE,

施工单位 VARCHAR(30), 施工内容 VARCHAR(50), 材料费 FLOAT, 人工费 FLOAT, 设备费 FLOAT, 其他费用 FLOAT, 结算金额 FLOAT, 结算人 VARCHAR(20), 结算日期 DATE, 入账金额 FLOAT, 入账人 VARCHAR(20), 入账日期 DATE );

CREATE TABLE MATERIALPRICE(单据号 VARCHAR(20), 物码 VARCHAR(20), 消耗数量 BIGINT, 单价 FLOAT

); */

/*INSERT INTO UNITNO(单位代码,单位名称)VALUES('1122','采油厂'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112201','采油一矿'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112202','采油二矿');

INSERT INTO UNITNO(单位代码,单位名称)VALUES('112201001','采油一矿一队'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112201002','采油一矿二队'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112201003','采油一矿三队'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112202001','采油二矿一队'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112202002','采油二矿二队');

INSERT INTO OILWELL(井号,井别,单位代码)VALUES('y001','油井','112201001'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('y002','油井','112201001'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('y003','油井','112201002'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('s001','水井','112201002'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('y004','油井','112201003'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('s002','水井','112201001'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('s003','水井','112201001'); INSERT INTO OILWELL(井号,井别,单位代码)VALUES('y005','油井','112201002');

INSERT INTO CONSTRUCTIONUNIT(施工单位名称)VALUES('作业公司作业一队'); INSERT INTO CONSTRUCTIONUNIT(施工单位名称)VALUES('作业公司作业二队'); INSERT INTO CONSTRUCTIONUNIT(施工单位名称)VALUES('作业公司作业三队');

INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES('wm001','材料一','吨'); INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES('wm002','材料二','米'); INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES('wm003','材料三','桶'); INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES('wm004','材料四','袋');

INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,

人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('ZY2016001','112201001','y001','10000.00','张三','2016-5-1','2016-5-4','2016-5-25','作业公司作业一队',

'堵漏','7000.00','2500.00','1000.00','1400.00','11900.00','李四','2016-5-26','11900.00','王五','2016-5-28');

INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,

人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('ZY2016002','112201002','y003','11000.00','张三','2016-5-1','2016-5-4','2016-5-23','作业公司作业二队',

'检泵','6000.00','1500.00','1000.00','2400.00','10900.00','李四','2016-5-26','10900.00','王五','2016-5-28');

INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,

人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('ZY2016003','112201002','s001','10500.00','张三','2016-5-1','2016-5-6','2016-5-23','作业公司作业二队',

'调剖','6500.00','2000.00','500.00','1400.00','10400.00','李四','2016-5-26','10400.00','王五','2016-5-28');

INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,

人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('ZY2016004','112202001','s002','12000.00','张三','2016-5-1','2016-5-4','2016-5-24','作业公司作业三队',

'解堵','6000.00','2000.00','1000.00','1600.00','10600.00','李四','2016-5-26','10600.00','赵六','2016-5-28');

INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,

人工费,设备费,其他费用,结算金额,结算人,结算日期)VALUES('ZY2016005','112202002','y005','12000.00','张三','2016-5-1','2016-5-4','2016-5-28','作业公司作业三队',

'防砂','7000.00','1000.00','2000.00','1300.00','11300.00','李四','2016-6-1');

INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016001','wm001','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016001','wm002','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016001','wm003','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016001','wm004','100','10.00');

INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016002','wm001','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016002','wm002','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016002','wm003','200','10.00');

INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单

价)VALUES('ZY2016003','wm001','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016003','wm002','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016003','wm003','250','10.00');

INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016004','wm001','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016004','wm002','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016004','wm004','200','10.00');

INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016005','wm001','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016005','wm002','200','10.00'); INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES('ZY2016005','wm004','300','10.00');

UPDATE COST

SET 人工费=人工费+200.00,结算金额=结算金额+200.00 WHERE 单据号='zy2016005';

DELETE FROM COST

WHERE 入账金额 IS NULL OR 入账人 IS NULL OR 入账日期 IS NULL;

BEGIN TRAN

UPDATE COST

SET 人工费=人工费+200.00,结算金额=结算金额+200.00 WHERE 单据号='zy2016005';

DELETE FROM COST

WHERE 入账金额 IS NULL OR 入账人 IS NULL OR 入账日期 IS NULL;

ROLLBACK TRAN

实验四

CREATE INDEX yDATE ON COST(预算日期);

CREATE INDEX jDATE ON COST(结算日期);

CREATE INDEX rDATE ON COST(入账日期);

SELECT DISTINCT * FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'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,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28' AND 结算金额 IS NOT NULL AND 结算人 IS NOT NULL AND 结算日期 IS NOT NULL;

SELECT DISTINCT MATERIALPRICE.单据号,物码,消耗数量,单价 FROM COST,MATERIALPRICE,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28'AND MATERIALPRICE.单据号=COST.单据号;

SELECT DISTINCT * FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'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 UNITNO,COST

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT 结算总额=SUM(DISTINCT 结算金额) FROM UNITNO,COST

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT 入账总额=SUM(DISTINCT 入账金额) FROM UNITNO,COST

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT 一矿入账总额=SUM(DISTINCT 入账金额) FROM UNITNO,COST

WHERE 单位名称 LIKE '采油一矿%'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT DISTINCT 入账人 FROM COST

WHERE 入账人 IS NOT NULL;

SELECT DISTINCT 单据号 FROM COST

WHERE 结算日期>='2016-5-1' AND 结算日期<='2016-5-28' AND 入账金额 IS NULL AND 结算金额 IS NOT NULL ;

SELECT DISTINCT 单据号,入账金额 FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 ORDER BY 入账金额 DESC;

SELECT 单位名称,结算金额总和=SUM(DISTINCT 结算金额),项目数=COUNT(DISTINCT 结算金额)

FROM COST,UNITNO

WHERE 预算单位=单位代码

GROUP BY 单位名称;

SELECT distinct 单据号,物码,消耗数量,单价 FROM MATERIALPRICE WHERE 物码 IN( SELECT 物码 FROM GOODSNO

WHERE 名称规格='材料三') AND 单价*消耗数量>=2000;

SELECT DISTINCT 单据号 FROM COST

WHERE 施工单位 ='作业公司作业二队';

SELECT 单据号,施工单位 FROM COST

WHERE 施工单位 ='作业公司作业二队' UNION

SELECT 单据号,施工单位 FROM COST

WHERE 施工单位 ='作业公司作业一队';

SELECT DISTINCT 施工单位 FROM COST,OILWELL,UNITNO

WHERE 预算单位=UNITNO.单位代码 AND UNITNO.单位代码=OILWELL.单位代码 AND 单位名称 LIKE '采油一矿%';

CREATE TABLE 数据表(施工单位 VARCHAR(30), 年月 VARCHAR(20), 结算金额 FLOAT );

INSERT INTO 数据表(施工单位,年月,结算金额)

(SELECT 施工单位,YEAR(结算日期)*100+MONTH(结算日期),SUM(结算金额) FROM COST

GROUP BY 施工单位,YEAR(结算日期)*100+MONTH(结算日期));

UPDATE COST

SET 结算人='李兵' WHERE 预算单位 IN( SELECT 单位代码

FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%' );

DELETE FROM COST

WHERE 预算单位 IN (SELECT 单位代码 FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%');

BEGIN TRAN

UPDATE COST

SET 结算人='李兵' WHERE 预算单位 IN( SELECT 单位代码 FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%' );

DELETE FROM COST

WHERE 预算单位 IN( SELECT 单位代码 FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%');

ROLLBACK TRAN

DROP INDEX yDATE ON COST; DROP INDEX jDATE ON COST; DROP INDEX rDATE ON COST;

实验五

ALTER TABLE 数据表 ADD 备注 CHAR;

SELECT *

FROM 数据表;

ALTER TABLE 数据表

ALTER COLUMN 施工单位 VARCHAR(30) NOT NULL; ALTER TABLE 数据表 ADD PRIMARY KEY(施工单位);

DELETE

FROM 数据表;

DROP TABLE 数据表 ;

ALTER TABLE UNITNO

ALTER COLUMN 单位代码 VARCHAR(20) NOT NULL; ALTER TABLE UNITNO

ADD CONSTRAINT UNI_NUM 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 单据号 VARCHAR(20) NOT NULL; ALTER TABLE COST

ADD CONSTRAINT COST_NUM PRIMARY KEY( 单据号);

ALTER TABLE MATERIALPRICE

ALTER COLUMN 单据号 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE

ALTER COLUMN 物码 VARCHAR(20) NOT NULL;

ALTER TABLE MATERIALPRICE ADD PRIMARY KEY(单据号,物码);

ALTER TABLE CONSTRUCTIONUNIT

ALTER COLUMN 施工单位名称 VARCHAR(30) NOT NULL; ALTER TABLE CONSTRUCTIONUNIT

ADD CONSTRAINT UNI_NAME PRIMARY KEY(施工单位名称);

FETCHFIRSTFROM COST_CRU

INTO @单据号,@预算单位,@井号,@预算金额,@预算人,@预算日期, @开工日期,@完工日期,@施工单位,@施工内容,@材料费,@人工费,

@设备费,@其他费用,@结算金额,@结算人,@结算日期,@入账金额,@入账人,@入账日期

WHILE(@@FETCH_STATUS=0) BEGIN

PRINT+@单据号+@预算单位 +@井号 +@预算金额 +' '+@预算人+' '+@预算日期 +' '+@开工日期 +' '+@完工日期 +' '+@施工单位 +' '+@施工内容 +@材料费+@人工费 +@设备费

+@其他费用 +@结算金额 +' '+@结算人 +' '+@结算日期 +@入账金额 +' '+@入账人 +@入账日期

FETCHNEXTFROM COST_CRU INTO

@单据号,@预算单位,@井号,@预算金额,@预算人,@预算日期,

@开工日期,@完工日期,@施工单位,@施工内容,@材料费,@人工费,

@设备费,@其他费用,@结算金额,@结算人,@结算日期,@入账金额,@入账人,@入账日期 END ;

ifOBJECT_ID('YUNXING_SITU','p')isnotnull dropprocedure YUNXING_SITU; go

CREATEPROCEDURE 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 @DANWEIDAIMA='单位代码' SET

@YSMONEY=(SELECTSUM(预算金额) FROM COST

WHERE 预算单位 LIKE @DANWEIDAIMA+'%'AND

预算日期 BETWEEN @STARTTIME AND @ENDTIME and 预算金额 isnotnull) SET

@JSMONEY=(SELECTSUM(结算金额)FROM COST WHERE 预算单位 LIKE @DANWEIDAIMA+'%'AND

结算日期 BETWEEN @STARTTIME AND @ENDTIME and 结算金额 isnotnull) SET

@RZMONEY=(SELECTSUM(入账金额)FROM COST WHERE 预算单位 LIKE @DANWEIDAIMA+'%'AND 入账日期 BETWEEN @STARTTIME AND @ENDTIME AND 入账人 ISNOTNULL) SET

@NOJSMONEY=(SELECTSUM(预算金额)FROM COST WHERE 预算日期 BETWEEN @STARTTIME AND @ENDTIME AND 结算金额 ISNULL) SET

@NORUZHANGMONEY=(SELECTSUM(结算金额)FROM COST WHERE 结算日期 BETWEEN @STARTTIME AND @ENDTIME AND 入账人 ISNULL)

IF @YSMONEY ISNULLSET @YSMONEY=0 IF @JSMONEY ISNULLSET @JSMONEY=0 IF @RZMONEY ISNULLSET @RZMONEY=0 IF @NOJSMONEY ISNULLSET @NOJSMONEY=0

IF @NORUZHANGMONEY ISNULLSET @NORUZHANGMONEY=0 SET @NOJSMONEY=@YSMONEY-@JSMONEY

SET @NORUZHANGMONEY=@JSMONEY-@RZMONEY

/*DECLARE @RESULT VARCHAR(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,102)+'成本运行情况'

PRINT '预算金额 结算金额 入账金额 未结算金额 未入账金额' PRINT @RESULT*/ print

@DANWEIMING+convert(varchar,@STARTTIME,102)+'--'+convert(varchar,@ENDTIME,102)+' 成本运营情况'

print'预算金额结算金额入账金额未结算金额未入账金额'

printconvert(varchar,@YSMONEY)+' '+convert(varchar,@JSMONEY)+' '+convert(varchar,@RZMONEY)

+' '+convert(varchar,@NOJSMONEY)+' '+convert(varchar,@NORUZHANGMONEY); GO

EXECUTE

YUNXING_SITU@DANWEIDAIMA='1122',@STARTTIME='2016-5-1',@ENDTIME='2016-5-29'; EXECUTE

YUNXING_SITU@DANWEIDAIMA='112201',@STARTTIME='2016-5-1',@ENDTIME='2016-5-29'; EXECUTE

YUNXING_SITU@DANWEIDAIMA='112201001',@STARTTIME='2016-5-1',@ENDTIME='2016-5-29'; GO

实验七

ifOBJECT_ID('TRR','TR')isnotnull droptrigger TRR GO

CREATETRIGGER TRR ON COST AFTERINSERT AS

DECLARE

@JS_MONEY MONEY; DECLARE

@MA_MONEY MONEY, @PE_MONEY MONEY, @EQ_MONEY MONEY, @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 COST

SET 结算金额=@JS_MONEY

WHERE 单据号=(select 单据号 from inserted); GO

INSERT

INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,人工费,设备费, 材料费,其他费用,结算人,结算日期,入账金额,入账人,入账日期)

VALUES('zy2016007','112201001','y002','10000.00','张三

','2016-5-1','2016-5-4','2016-5-25','作业公司作业一队','堵漏

','250','100','140','700','李四','2016-5-26','11900','王五','2016-5-28');

ifOBJECT_ID('TRR2','TR')isnotnull droptrigger TRR2 GO

createtrigger TRR2 on COST AFTERUPDATE AS

DECLARE

@JS_MONEY MONEY; DECLARE

@MA_MONEY MONEY, @PE_MONEY MONEY, @EQ_MONEY MONEY, @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 COST

SET 结算金额=@JS_MONEY

WHERE 单据号=(select 单据号 from inserted); GO

UPDATE COST SET 入账金额=1

WHERE 单据号='zy2016005';

ifOBJECT_ID('TRR3','TR')isnotnull droptrigger TRR3 GO

createtrigger TRR3 on COST AFTERDELETE AS

DELETEFROM MATERIALPRICE

WHERE 单据号=(select 单据号 from deleted); GO

DELETEFROM COST

WHERE 单据号='zy2016007'; GO

CREATEVIEW CY1 AS

SELECT 单据号,预算单位,COST.井号,预算金额,预算人,预算日期,开工日期,完工日期, 施工单位,施工内容,人工费,设备费, 材料费,其他费用,结算金额,结算人,结算日期, 入账金额,入账人,入账日期,井别,单位名称 FROM COST,OILWELL,UNITNO

WHERE 预算单位=OILWELL.单位代码 AND 预算单位=UNITNO.单位代码; GO

CREATELOGIN USER01 WITHPASSWORD='1234'; CREATEUSER USER11 FORLOGIN USER01;

GRANTSELECT ON CY1 TO USER11;

CREATELOGIN USER02 WITHPASSWORD='6789'; CREATEUSER USER12 FORLOGIN USER02; GO

SETUSER'USER12' GO

EXECUTE

YUNXING_SITU@DANWEIDAIMA='1122',@STARTTIME='2016-5-1',@ENDTIME='2016-5-29'; EXECUTE

YUNXING_SITU@DANWEIDAIMA='112201',@STARTTIME='2016-5-1',@ENDTIME='2016-5-29';

IFOBJECT_ID('TRR2','TR')ISNOTNULL DROPTRIGGER TRR2

GO

CREATETRIGGER TRR2 ON COST AFTERUPDATE AS

DECLARE @NOWTIME DATETIME SET @NOWTIME GETDATE();

DECLARE @NOWTIME VARCHAR(10)

SET @NOWTIME=CONVERT(VARCHAR(10),UPDATE(DW,@NOWTIME)-1);

IF @NOWTIME NOTBETWEEN 1 AND 5 BEGIN

IF@@TRANCOUNT>0 BEGIN ROLLBACK

PRINT'非工作日不能更新数据' END END GO

BEGINTRANSACTION UPDATE COST

SET 预算人='赵铁柱'

WHERE 单据号='zy2011001'

IF@@TRANCOUNT>0 BEGIN COMMIT END GO

本文来源:https://www.bwwdw.com/article/ao37.html

Top