版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
**实验四SQL练习2一、实验目的1.掌握索引的建立、删除及使用;2.掌握单表查询、连接查询、嵌套查询和集合查询;3.掌握插入数据、修改数据和删除数据语句的非常用形式。精品文档放心下载二、实验学时2学时三、实验内容1.利用QueryAnalyzer完成以下操作:感谢阅读⑴在预算日期、结算日期和入账日期上分别建立索引,并在查询操作中体会索引的作用。谢谢阅读⑵在完成第2题的查询操作后,删除预算日期、结算日期和入账日期上的索引。谢谢阅读2.利用QueryAnalyzer完成以下操作:感谢阅读⑴采油一矿二队2016-5-1到2016-5-28有哪些项目完成了预算,列出相应明细。谢谢阅读⑵采油一矿二队2016-5-1到2016-5-28有哪些项目完成了结算,列出相应明细。感谢阅读⑶采油一矿二队2016-5-1到2016-5-28有哪些项目完成了结算,列出相应的材料费消耗明细。感谢阅读⑷采油一矿二队2016-5-1到2016-5-28有哪些项目完成了入感谢阅读**账,列出相应明细。⑸列出采油一矿二队2016-5-1到2016-5-28总的预算金额。感谢阅读⑹列出采油一矿二队2016-5-1到2016-5-28总的结算金额。精品文档放心下载⑺列出采油一矿二队2016-5-1到2016-5-28总的入账金额。谢谢阅读⑻列出采油一矿2016-5-1到2016-5-28总的入账金额。谢谢阅读有哪些人员参与了入账操作。⑽列出2016-5-1到2016-5-28进行了结算但未入账的项目。精品文档放心下载列出采油一矿二队的所有项目,按入账金额从高到低排列。精品文档放心下载列出有哪些施工单位实施了项目,并计算各单位所有项目结算金额总和。精品文档放心下载找出消耗了材料三且消耗超过了2000元的项目,列出相应消耗明细(利用子查询)。精品文档放心下载作业公司二队参与了哪些项目。作业公司一队和二队参与了哪些项目(利用union)。精品文档放心下载采油一矿的油井是哪些作业队参与施工的。3.利用QueryAnalyzer完成以下操作:感谢阅读建立数据表(包含3个属性列:★施工单位、★年月、◆结算金额)保存各个施工单位每月的结算金额总和。谢谢阅读用子查询将各个施工单位每月的结算金额总和插入到所建立的数据表中。精品文档放心下载用带子查询的修改语句将采油一矿油井作业项目的结算人改为“李兵”。谢谢阅读**⑷用带子查询的删除语句删除采油一矿油井作业项目。⑸撤消上述两个操作。四、实验报告提交实验内容中用SQL语句完成的题目的SQL语句文档及相应谢谢阅读的执行结果。**实验五SQL练习3一、实验目的1.掌握基本表的删除与修改;2.掌握实体完整性、参照完整性和用户定义的完整性的定义、谢谢阅读检查和违约处理;3.掌握视图的定义、查询和更新,了解视图的作用。二、实验学时学时三、实验内容1.利用QueryAnalyzer完成以下操作:谢谢阅读向在实验四中所定义的数据表增加“备注”列,其数据类型为字符型,并查看新增列的值。感谢阅读对上述数据表增加主码约束条件,并观察在数据表中存在数据的情况下主码约束是否创建成功,然后再次执行实验四中实验内容谢谢阅读3.2的操作,并观察记录执行结果。删除上述数据表中的数据,然后再删除该数据表,对这两个操作进行比较。谢谢阅读2.利用QueryAnalyzer完成以下任务:精品文档放心下载对实验三中所定义的6个数据表增加主码约束条件,并观察在数据表中存在数据的情况下主码约束是否创建成功,然后执行以下精品文档放心下载个操作,观察并记录实体完整性的检查和违约处理。**① insert into 材 料 费 表values('zy2016001','wm004',100,10)感谢阅读② insert into 材 料 费 表values('zy2016002',NULL,200,10)精品文档放心下载注:“材料费表”根据自己所命名的表名进行相应的替换。谢谢阅读对实验三中所定义的6个数据表增加相应的参照完整性约束,并观察在数据表中存在数据的情况下参照完整性约束是否创建成功,然后执行以下操作,观察并记录参照完整性的检查和违约处理。感谢阅读将(y007油井112203002)插入到油水井表。精品文档放心下载② insert into 材 料 费 表values('zy2016007','wm006',100,10)谢谢阅读将作业项目编号zy2016001的施工单位修改为“作业公司作业五队”。感谢阅读将单位代码表中的(112202002采油二矿二队)删除,查看油水井表和作业项目表中的数据有何变化。谢谢阅读将物码表中的(wm004材料四袋)修改为(wm04材料四精品文档放心下载袋)。撤销上述成功的更新操作。注:“材料费表”根据自己所命名的表名进行相应的替换。精品文档放心下载对实验三中所定义的6个数据表按以下要求增加相应的完整性约束条件,并观察在数据表中存在数据的情况下完整性约束是否创建成功。精品文档放心下载**单位代码表的单位名称不能取空值、且取值唯一。油水井表的井别只允许取“油井”或“水井”,单位代码不能取空值。精品文档放心下载物码表的名称规格不能取空值、且取值唯一,计量单位不能取空值。感谢阅读材料费表的消耗数量不能取空值,单价不能取空值。对作业项目表根据实际应用的要求定义适当的用户定义的完整性约束条件。谢谢阅读3.利用QueryAnalyzer完成以下操作:谢谢阅读定义一个视图,用于保存作业项目表和材料费表的全部列。谢谢阅读查询上面定义的视图,可任意组合查询条件,构造出2个查谢谢阅读询。定义一个反映作业项目预算状态的视图,并向该视图插入('zy2016008','112202002','y005',10000,'张三','2016-07-02'),查看作业项目表的数据有何变化。感谢阅读撤销上述成功的更新操作。四、实验报告提交实验内容中用SQL语句完成的题目的SQL语句文档及相应的执行结果。谢谢阅读**实验六其它数据库对象的管理一、实验目的1.掌握事务的概念、性质、定义及使用;2.掌握游标的概念、组成、创建及使用;3.掌握存储过程的概念、类型、特点、创建、执行及管理。精品文档放心下载4.掌握触发器的概念、创建、管理及使用。二、实验学时2学时三、实验内容1.利用QueryAnalyzer进行如下事务处理练习(把下列五条语句作为一个事务处理,只有五条语句全部成功执行才做提交,并给出成功的提示信息;否则就做回退处理,并给出具体的错误提示信息):谢谢阅读insertinto作业项目表values('zy2016006','112202002','y005',感谢阅读10000,'张三','07-01-2016','07-04-2016','07-25-2016','作业公司作业一队','堵漏',7000,2500,1000,1400,11900,'李四','07-26-2016',11900,'王五','07-28-2016')感谢阅读insertinto材料费表values('zy2016006','wm001',200,10)精品文档放心下载insertinto材料费表values('zy2016006','wm002',200,10)精品文档放心下载insertinto材料费表values('zy2016006','wm003',200,10)谢谢阅读insertinto材料费表values('zy2016006','wm004',100,10)感谢阅读**注:“作业项目表”、“材料费表”根据自己所命名的表名进行相应的替换。谢谢阅读2.利用QueryAnalyzer进行如下游标练习:精品文档放心下载定义一个游标,用于存放作业项目表的全部行数据,并打印以下表头和各行数据。精品文档放心下载表头:单据号预算单位井号预算金额预算人预算日期开工日期完工日期施工单位施工内容材料费人工费设备费其它费用结算金额结算人结算日期入账金额入账人入账日期谢谢阅读执行以上所定义的游标,查看是否能正确输出结果。3.利用QueryAnalyzer定义一个存储过程,要求完成以下功感谢阅读能:生成某单位(单位可以是采油厂或采油矿或采油队)某段时间内的成本运行情况(输入参数:单位代码起始日期结束日期)。精品文档放心下载输出格式 ***单位**时间---**时间成本运行情况谢谢阅读预算金额 结算金额 入账金额 未结算金额 未入账金额感谢阅读****.** ****.** ****.** ****.** ****.**精品文档放心下载其中:未结算金额=预算金额-结算金额未入账金额=结算金额-入账金额分三种情况(单位分别为:采油厂、采油矿、采油队)执行以上定义的存储过程,查看执行输出结果。谢谢阅读4.利用QueryAnalyzer针对作业项目表定义三个触发器,分精品文档放心下载**别完成以下功能:⑴对作业项目表插入一行数据时,自动计算并插入结算金额字精品文档放心下载段(结算金额=材料费+人工费+设备费+其它费用)。⑵当修改作业表的某行数据时自动修改结算金额字段。⑶当删除作业表中一行数据时,自动删除材料费表中相应明细感谢阅读数据。⑷对上述3个触发器用适当的更新语句进行验证,并查看结果感谢阅读是否达到预期结果。四、实验报告提交实验内容中用SQL语句完成的题目的SQL语句文档及相应谢谢阅读的执行结果。**实验七安全机制2.利用QueryAnalyzer完成以下操作:精品文档放心下载建立采油一矿的作业项目的视图,把该视图的查询权限授予给采油一矿的用户user11,以user11的身份查询该视图,观察执行情况;再以其他用户的身份查询该视图,观察执行情况。感谢阅读创建一个用户user12,以user12的身份执行实验六中所定义的存储过程,观察记录是否成功执行;然后把该存储过程的执行权限授予给user12,再次以user12的身份执行该存储过程,观察记录是否成功执行。谢谢阅读定义触发器,实现只能在工作时间内更新“作业项目表”的数据,然后通过选择不同的时间进行适当的更新操作来验证。谢谢阅读--实验3-----------------------------------------------------------------谢谢阅读CREATETABLE单位代码表(单位代码CHAR(20),单位名称CHAR(20));CREATETABLE油水井表(井号CHAR(20),井别CHAR(20),单位代码CHAR(20));**CREATETABLE施工单位表(施工单位名称CHAR(20));CREATETABLE物码表(物码CHAR(20),名称规格CHAR(20),计量单位CHAR(20));createtable材料费表(单据号CHAR(20),物码CHAR(20),消耗数量INT,单价MONEY,);CREATETABLE作业项目表(单据号CHAR(20),预算单位CHAR(20),井号CHAR(20),预算金额MONEY,预算人CHAR(20),预算日期DATETIME,**开工日期DATETIME,完工日期DATETIME,施工单位CHAR(20),施工内容CHAR(20),材料费money,人工费MONEY,设备费MONEY,其他费用money,结算金额MONEY,结算人CHAR(20),结算日期DATETIME,入账金额MONEY,入账人CHAR(10),入账日期DATETIME)-------------------------------------------------------------------------------精品文档放心下载insertinto单位代码表values('1122','采油厂');insertinto单位代码表**values('112201','采油一矿');insertinto单位代码表values('112202','采油二矿');insertinto单位代码表values('112201001','采油一矿一队');感谢阅读insertinto单位代码表values('112201002','采油一矿二队');谢谢阅读insertinto单位代码表values('112201003','采油一矿三队');谢谢阅读insertinto单位代码表values('112202001','采油二矿一队');感谢阅读insertinto油水井表values('y001', '油井','112201001');谢谢阅读insertinto油水井表**values('y002', '油井','112201001');谢谢阅读insertinto油水井表values('y003', '油井','112201002');感谢阅读insertinto油水井表values('s001', '水井','112201002');精品文档放心下载insertinto油水井表values('y004', '油井','112201003');感谢阅读insertinto油水井表values('s002', '水井','112202001');精品文档放心下载insertinto油水井表values('s003', '水井','112202001');感谢阅读insertinto油水井表values('y005', '油井','112202002');精品文档放心下载insertinto施工单位表values('作业公司作业一队');**insertinto施工单位表values('作业公司作业二队');insertinto施工单位表values('作业公司作业三队');insertinto物码表values('wm001','材料一','吨');精品文档放心下载insertinto物码表values('wm002','材料二','米');谢谢阅读insertinto物码表values('wm003','材料三','桶');感谢阅读insertinto物码表values('wm004','材料四','袋');感谢阅读insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016001','wm001',200,¥10);感谢阅读**insertinto材料费表(单据号,物码,消耗数量,单价)精品文档放心下载values('zy2016001','wm002',200,¥10);谢谢阅读insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016001','wm003',200,¥10);谢谢阅读----------------------------------------------------------------精品文档放心下载insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016003','wm001',200,¥10);精品文档放心下载insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016003','wm002',200,¥10);精品文档放心下载insertinto材料费表(单据号,物码,消耗数量,单价)感谢阅读values('zy2016003','wm003',250,¥10);感谢阅读--------------------------------------------------------------------感谢阅读insertinto材料费表(单据号,物码,消耗数量,单价)精品文档放心下载values('zy2016004','wm001',200,¥10);精品文档放心下载insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016004','wm002',200,¥10);精品文档放心下载**insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016004','wm004',200,¥10);感谢阅读------------------------------------------------------谢谢阅读insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016005','wm001',200,¥10);谢谢阅读insertinto材料费表(单据号,物码,消耗数量,单价)精品文档放心下载values('zy2016005','wm002',200,¥10);谢谢阅读insertinto材料费表(单据号,物码,消耗数量,单价)谢谢阅读values('zy2016005','wm004',300,¥10);感谢阅读--------------------------------------------------------------------感谢阅读insertinto作业项目表values('zy2016001','112201001','y001',¥10000,'张三','2016/5/1',谢谢阅读'2016/5/4','2016/5/23','作业公司作业一队','堵漏',¥7000,¥2500,¥1000,¥1400,¥10900,'王五感谢阅读','2016/5/26',¥10900,'王五','2016/5/28');----------------------------------------------------------感谢阅读insertinto作业项目表values('zy2016003','112201002','s001',¥10500,'张三','2016/5/1',感谢阅读**'2016/5/6','2016/5/23','作业公司作业二队','调剖',¥6500,¥2000,¥500,¥1400,¥10400,'李四精品文档放心下载','2016/5/26',¥10400,'王五','2016/5/28');---------------------------------------------感谢阅读insertinto作业项目表values('zy2016004','112202001','s002',¥12000,'张三','2016/5/1',谢谢阅读'2016/5/4','2016/5/24','作业公司作业三队','解堵',¥6000,¥2000,¥1000,¥1600,¥10600,'李四谢谢阅读','2016/5/26',¥10600,'赵六','2016/5/28');感谢阅读--------------------------------------------感谢阅读insertinto作业项目表values('zy2016005','112202002','y005',¥12000,'张三','2016/5/1',感谢阅读'2016/5/4','2016/5/28','作业公司作业三队','防砂',¥7000,¥1000,¥2000,¥1300,¥11300,'李四精品文档放心下载','2016/6/1',NULL,NULL,NULL);---------------------------------------精品文档放心下载begintranupdate作业项目表set人工费=人工费+200where单据号='zy2016005';**update作业项目表set 结算金额=结算金额+200where单据号='zy2016005';deletefrom作业项目表where入账金额isNULL;rollbacktran--实验四-----------------------------------------------感谢阅读--1createindex预算日期索引on作业项目表(预算日期);精品文档放心下载createindex结算日期索引on作业项目表(结算日期);精品文档放心下载createindex入账日期索引on作业项目表(入账日期);感谢阅读--(1)select*from作业项目表where 预算日期between'2016/5/1'and'2016/5/28'and预算单位=感谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队');--anothersolution**select*from作业项目表,单位代码表where单位代码=预算单位and单位名称='采油一矿二队'and预算日期between感谢阅读'2016/5/1'and'2016/5/28';精品文档放心下载--(2)select*from作业项目表where 结算日期between'2016/5/1'and'2016/5/28'and预算单位=感谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队');--anothersolution--select*--from作业项目表,单位代码表--where单位名称='采油一矿二队'and预算单位=单位代码and结算日期>='2016-5-1'and结谢谢阅读算日期<='2016-5-28';--(3)-----------------------------------------------感谢阅读select*from材料费表where单据号=(select单据号**from作业项目表where 预算日期between'2016/5/1'and'2016/5/28'and预算单位=感谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队'));--(4)------------------------------------------感谢阅读select*from作业项目表where 入账日期between'2016/5/1'and'2016/5/28'and预算单位=谢谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队');--(5)-----------------------------------------感谢阅读select ,sum(预算金额)预算金额总和from作业项目表where 预算日期between'2016/5/1'and'2016/5/28'and预算单位=谢谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队');--(6)--------------------------------谢谢阅读select ,sum(结算金额)结算金额总和from作业项目表**where 结算日期between'2016/5/1'and'2016/5/28'and预算单位=谢谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队');--(7)-------------------------------谢谢阅读selectsum(入账金额)入账金额总和from作业项目表where 入账日期between'2016/5/1'and'2016/5/28'and预算单位=谢谢阅读(select单位代码from单位代码表where单位名称='采油一矿二队');--(8)-------------------------------感谢阅读selectsum(入账金额)采油一矿入账金额总和谢谢阅读from作业项目表,单位代码表where 入账日期between'2016/5/1'and'2016/5/28'and预算单位=单位代码and单位名感谢阅读称like'采油一矿%';--anothersolutionselectsum(入账金额)入账金额总和from作业项目表where 入账日期between'2016/5/1'and'2016/5/28'and预算单位in精品文档放心下载(select单位代码from单位代码表**where单位名称like '采油一矿%');--(9)-------------------------------感谢阅读selectdistinct入账人from作业项目表where入账人isnotnull;--(10)--------------------------------谢谢阅读select单据号from作业项目表where结算日期between'2016/5/1'and'2016/5/28'and结算金额isnotnulland入账金额感谢阅读isnull;--(11)----------------------------------谢谢阅读select单据号from作业项目表where预算单位=(select单位代码from单位代码表where单位名称='采油一矿二队')orderby入账金额desc;--(12)--------------------谢谢阅读select施工单位表.施工单位名称,count(结算金额)项目个数,sum(结算金额)结算金额总和精品文档放心下载from施工单位表leftjoin作业项目表on(施工单位表.施工单位名称=作业项目表.施工单位)谢谢阅读**groupby施工单位表.施工单位名称;--(13)--------------------------------------------感谢阅读select*from材料费表where单据号=(select单据号from材料费表where物码=(select物码from物码表where名称规格='材料三')and消耗数量*单价>2000);--(14)-------------------------------------谢谢阅读selectdistinct单据号from作业项目表where施工单位='作业公司作业二队';--(15)--------------------------------感谢阅读selectdistinct单据号from作业项目表where施工单位='作业公司作业一队'unionselectdistinct单据号from作业项目表**where施工单位='作业公司作业二队';--(16)---------------------------感谢阅读selectdistinct施工单位from作业项目表,油水井表,单位代码表where预算单位=单位代码表.单位代码and单位代码表.单位代码=油水井表.单位代码and感谢阅读单位名称like'采油一矿%';--anothersolutionselectdistinct施工单位from作业项目表where井号in( select井号from油水井表where单位代码in(select单位代码谢谢阅读from单位代码表where单位名称like'采油一矿%'));感谢阅读-----------------------------------------------------------------------------------精品文档放心下载dropindex 预算日期索引on作业项目表;感谢阅读dropindex 结算日期索引on作业项目表;精品文档放心下载dropindex 入账日期索引on作业项目表;谢谢阅读--3---------------------------------------------------感谢阅读--(1)------------------------------------------感谢阅读createtable结算金额表(**施工单位char(20),年月varchar(7),结算金额money);--(2)-----------------------------------------谢谢阅读insertinto结算金额表select施工单位,convert(varchar(7),结算日期,111),sum(结算金额)感谢阅读from作业项目表groupby施工单位,convert(varchar(7),结算日期,111);感谢阅读--anothersolution--insert--into结算金额表--select施工单位,YEAR(结算日期)*100+MONTH(结算日期),sum(结算金额)谢谢阅读--from作业项目表--groupby 施工单位,YEAR(结算日期)*100+MONTH(结算日期);谢谢阅读--(3)---------------------------------------------------谢谢阅读begintranupdate作业项目表set结算人='李兵'where 预算单位in(select单位代码感谢阅读from单位代码表**where 单位名称like'采油一矿%');--(4)-----------------------------------------------------------------------------------------------谢谢阅读deletefrom作业项目表where 预算单位in(select单位代码感谢阅读from单位代码表where 单位名称like'采油一矿%');rollback---实验五-----------------------------------------------------------------------------------精品文档放心下载---(1)-------------------altertable结算金额表add 备注char(20);select*from结算金额表--(2)-----------------------------------------------感谢阅读altertable结算金额表altercolumn施工单位char(20)notnull;谢谢阅读altertable结算金额表**altercolumn年月varchar(7)notnull;感谢阅读altertable结算金额表addprimarykey(施工单位,年月);谢谢阅读TRUNCATETABLE结算金额表insertinto结算金额表(施工单位,年月,结算金额)感谢阅读select施工单位,convert(varchar(7),结算日期,111),sum(结算金额)谢谢阅读from作业项目表groupby施工单位,convert(varchar(7),结算日期,111);谢谢阅读---------------------------------------------------------------精品文档放心下载deletefrom结算金额表;delete 结算金额表;--2---------------------------------------------------感谢阅读--(1)-----------------------------------------------感谢阅读altertable材料费表altercolumn单据号char(20)notnull;感谢阅读altertable材料费表altercolumn物码char(20)notnull;精品文档放心下载**altertable材料费表add primarykey(单据号,物码);-----------------------------------------------------------------------------------------------------感谢阅读------------altertable作业项目表altercolumn单据号char(20)notnull;感谢阅读altertable作业项目表addprimarykey(单据号);--------------------------------------------------------------------------------------------------感谢阅读altertable单位代码表altercolumn单位代码char(20)notnull;感谢阅读altertable单位代码表addprimarykey(单位代码);----------------------------------------------------精品文档放心下载altertable施工单位表altercolumn施工单位名称char(20)notnull;精品文档放心下载altertable施工单位表addprimarykey(施工单位名称);**-------------------------------------------------------精品文档放心下载altertable物码表altercolumn物码char(20)notnull;精品文档放心下载altertable物码表addprimarykey(物码);-------------------------------------------------------------感谢阅读altertable油水井表altercolumn井号char(20)notNUll;精品文档放心下载altertable油水井表addprimarykey(井号);---------------------------------------------------------------------感谢阅读begintraninsert into 材料费表 values('zy2016001','wm004',100,10);感谢阅读insert into 材料费表 values('zy2016002',NULL,200,10);谢谢阅读rollback--(2)------------------------------------------------------------------谢谢阅读altertable材料费表addconstrainta1foreignkey(单据号)references作业项目表(单据号);谢谢阅读**altertable材料费表addconstrainta2foreignkey(物码)references物码表(物码);谢谢阅读altertable作业项目表addconstraintb1foreignkey(预算单位)references单位代码表(单位代码);感谢阅读altertable作业项目表addconstraintb2foreignkey(井号)references油水井表(井号);感谢阅读altertable作业项目表addconstraintb3foreignkey(施工单位)references施工单位表(施工单位名称);精品文档放心下载-----------------------------------------------------------------------------------------感谢阅读insertinto油水井表values('y007','油井','112203002');感谢阅读insert into 材料费表values('zy2016007','wm006',100,10);感谢阅读begintran**update作业项目表set施工单位='作业公司作业五队'where单据号='zy2016001';deletefrom 单位代码表where单位代码='112202002';update物码表set物码='wm04'where名称规格='材料四';rollbacktran--(3)-------------------------------感谢阅读altertable单位代码表addconstraintaa1check(单位名称 isnotnull);谢谢阅读altertable单位代码表addconstraintuniunique(单位代码);精品文档放心下载altertable油水井表addconstraintaa2check(井别in('油井','水井'));谢谢阅读**altertable油水井表altercolumn单位代码char(20)notnull;感谢阅读altertable物码表alter column名称规格char(20)notnull;感谢阅读altertable物码表addconstraintuni2unique(名称规格);谢谢阅读altertable物码表alter column计量单位char(20)notnull;感谢阅读altertable材料费表altercolumn消耗数量intnotnull;感谢阅读altertable材料费表altercolumn单价intnotnull;精品文档放心下载altertable作业项目表addconstraintasdafcheck(材料费+人工费+设备费+其他费用=结算金额);精品文档放心下载**--3------------------------------------------------------------------------------------精品文档放心下载--(1)--------------------------------------------谢谢阅读createview视图一asselect作业项目表.*,物码,消耗数量,单价from作业项目表,材料费表where作业项目表.单据号 =材料费表.单据号;感谢阅读--(2)------------select结算金额,消耗数量from视图一where物码='wm003';select预算单位,施工内容from视图一where单据号= 'zy2016001'and物码='wm001';感谢阅读--(3)-------------------------感谢阅读createview预算状态asselect单据号,预算单位,井号,预算金额,预算人,预算日期感谢阅读from作业项目表begintran**insertinto预算状态values('zy2016008','112202002','y005',¥10000,'张三','2016-07-02');感谢阅读rollbacktran--实验六--------------------------------------------------------------------------------------------谢谢阅读-------------------------1----------------------------谢谢阅读begintrangoinsertinto作业项目表values('zy2016006','112202002','y005',谢谢阅读10000,'张三','07-01-2016','07-04-2016','07-25-2016',谢谢阅读'作业公司作业一队','堵漏',7000,2500,1000,1400,11900,谢谢阅读'李四','07-26-2016',11900,'王五','07-28-2016')精品文档放心下载insertinto材料费表values('zy2016006','wm001',200,10)感谢阅读insertinto材料费表values('zy2016006','wm002',200,10)精品文档放心下载insertinto材料费表values('zy2016006','wm003',200,10)感谢阅读insertinto材料费表values('zy2016006','wm004',100,10)谢谢阅读if@@error<>0beginprint'语句执行失败'**rollbackendelsebeginprint'语句执行成功'commitend--2---------------------------------谢谢阅读begintrandeclareybcursorforselect*from作业项目表openybdeclare@单据号varchar(20)declare@预算单位varchar(20)declare@井号varchar(20)declare@预算金额varchar(20)declare@预算人varchar(20)declare@预算日期varchar(20)declare@开工日期varchar(20)declare@完工日期varchar(20)declare@施工单位varchar(20)**declare@施工内容varchar(20)declare@材料费varchar(20)declare@人工费varchar(20)declare@设备费varchar(20)declare@其它费用varchar(20)declare@结算金额varchar(20)declare@结算人varchar(20)declare@结算日期varchar(20)declare@入账金额varchar(20)declare@入账人varchar(20)declare@入账日期varchar(20)print'单据号'+'预算单位'+'井号'+'预算金额'+'预算人'+'预算日期'+'开工日期'+'完工日期'+'施工单位'+'施工内容'+**'材料费'+'人工费'+'设备费'+'其它费用'+'结算金额'+'结算人'+'结算日期'+'入账金额'+'入账人'+'入账日期'fetchnextfromybinto@单据号,@预算单位,@井号,@预算金额,@预算人,@预算日期,@开工日期,@完工日期,@施工单位,@施工内容,**@材料费,@人工费,@设备费,@其它费用,@结算金额,@结算人,@结算日期,@入账金额,@入账人,@入账日期while(@@fetch_status=0)beginprint@单据号+''+@预算单位+''+@井号 +''+@预算金额 +''+@预算人 +''+@预算日期 +''+@开工日期 +''+@完工日期 +''+**@施工单位 +''+@施工内容 +''+@材料费 +''+@人工费 +''+@设备费 +''+@其它费用+''+@结算金额 +''+@结算人 +''+@结算日期 +''+@入账金额 +''+@入账人 +''+@入账日期fetchnextfromybinto@单据号,@预算单位,@井号,@预算金额,@预算人,@预算日期,**@开工日期,@完工日期,@施工单位,@施工内容,@材料费,@人工费,@设备费,@其它费用,@结算金额,@结算人,@结算日期,@入账金额,@入账人,@入账日期;end--3----------------------------------感谢阅读ifobject_id('_someDepCost','p')isnotnull谢谢阅读dropprocedure_someDepCost;谢谢阅读gocreateprocedure_someDepCost谢谢阅读@单位代码varchar(40),@起始日期datetime,**@结束日期datetimeasdeclare@单位名称varchar(40);谢谢阅读declare@预算金额money,@结算金额money,@入账金额money,@未结算金额money,@未入账金额money;select@单位名称=单位名称from单位代码表感谢阅读where单位代码=@单位代码set@预算金额=(selectsum(预算金额)from作业项目表感谢阅读where预算单位like@单位代码+'%'and(预算日期between@起始日期and@结束日期))谢谢阅读set@结算金额=(selectsum(结算金额)from作业项目表谢谢阅读where预算单位like@单位代码+'%'and(结算日期between@起始日期and@结束日期))谢谢阅读set@入账金额=(selectsum(入账金额)from作业项目表谢谢阅读where预算单位like@单位代码+'%'and(入账日期between@起始日期and@结束日期)精品文档放心下载and**(入账金额isnotnull))set@未结算金额=(selectsum(预算金额)from作业项目表感谢阅读where(结算金额isnull)and(预算日期between@起始日期and@结束日期))谢谢阅读set@未入账金额=(selectsum(结算金额)from作业项目表谢谢阅读where(入账金额isnull)and(结算日期between@起始日期and@结束日期))谢谢阅读set@未结算金额=@预算金额-@结算金额精品文档放心下载set@未入账金额=@结算金额-@入账金额感谢阅读if@预算金额isnullset@预算金额 =0if@结算金额isnullset@结算金额 =0if@入账金额isnullset@入账金额 =0if@未结算金额isnull**set@未结算金额 =0if@未入账金额isnullset@未入账金额 =0declare@resultvarchar(100)谢谢阅读set@result=convert(varchar,@预算金额)+''+convert(varchar,@结算金额)+谢谢阅读''+convert(varchar,@入账金额)+''+convert(varchar,@未结算金额)+''+convert(varchar,@未精品文档放心下载入账金额)print@单位名称+'单位'+convert(varchar,@起始日期,102)+'--'+convert(varchar,@结束日感谢阅读期,102)+'成本运营状况'print'预算金额 结算金额 入账金额 未结算金额 未入账金额'感谢阅读print@resultgoexecute_someDepCost@单位代码='1122',@起始日期='2016-5-1',@结束日期='2016-5-感谢阅读29';execute_someDepCost@单位代码='112201',@起始日期='2016-5-1',@结束日期='2016-精品文档放心下载5-29';execute_someDepCost@单位代码='112201001',@起始日期='2016-5-1',@结束日期=谢谢阅读'2016-5-29';**go--4---------------------------------------------精品文档放心下载--(1)----------------------------感谢阅读ifOBJECT_ID('trmytr1','TR')isnotnull感谢阅读droptriggertr_mytrlgocreatetriggertrmytr1on作业项目表精品文档放心下载afterinsertasdeclare@结算金额moneydeclare@temp1money,@temp2money,@temp3money,@temp4money;谢谢阅读select@temp1=材料费,@temp2=人工费,@temp3=设备费,@temp4=其他费用谢谢阅读frominserted;set@结算金额=@temp1+@temp2+@temp3+@temp4;感谢阅读update作业项目表set结算金额=@结算金额where单据号=(select单据号frominserted);感谢阅读go--(2)---------------------------------------------感谢阅读ifOBJECT_ID('trmytr2','TR')isnotnull精品文档放心下载droptriggertr_mytr2**gocreatetriggertrmytr2on作业项目表感谢阅读afterupdateasdeclare@结算金额moneydeclare@temp1money,@temp2money,@temp3money,@temp4money;精品文档放心下载select@temp1=材料费,@temp2=人工费,@temp3=设备费,@temp4=其他费用谢谢阅读frominserted;set@结算金额=@temp1+@temp2+@temp3+@temp4;感谢阅读update作业项目表set结算金额=@结算金额where单据号=(select单据号frominserted);谢谢阅读go--(3)----------------------------------谢谢阅读ifOBJECT_ID('trmytr3','TR')isnotnull精品
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州城市职业学院《英语教学实践2》2023-2024学年第一学期期末试卷
- 贵州财经大学《基础护理学基本技能2》2023-2024学年第一学期期末试卷
- 贵阳学院《现代生物科学导论C》2023-2024学年第一学期期末试卷
- 2025海南省建筑安全员C证考试题库
- 贵阳人文科技学院《自然地理与人文地理学》2023-2024学年第一学期期末试卷
- 广州珠江职业技术学院《信息管理学基础》2023-2024学年第一学期期末试卷
- 2025年天津市建筑安全员B证考试题库
- 2025海南建筑安全员C证考试(专职安全员)题库附答案
- 广州应用科技学院《装配式建筑识图与实务》2023-2024学年第一学期期末试卷
- 2025四川省建筑安全员A证考试题库及答案
- 【可行性报告】2024年第三方检测相关项目可行性研究报告
- 藏医学专业生涯发展展示
- 信息安全保密三员培训
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 医院重点岗位工作人员轮岗制度
- 第二章植物纤维
- 《论语》中英对照(理雅各译)
- 新疆建设工程质量监督管理工作手册
- 小红帽故事PPT课件15
- 旅游景区组织机构
- 汉字文化解密(华中师范大学)超星尔雅学习通网课章节测试答案
评论
0/150
提交评论