2022年SQL数据库作业 .pdf
《2022年SQL数据库作业 .pdf》由会员分享,可在线阅读,更多相关《2022年SQL数据库作业 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二次书面作业要求:使用学校要求统一的作业纸(包括封面),作业只能手写,不可以打印(打印为零分)。下周上小课交给小课老师。第 1 题:人力资源部门决定希望能保留求职者的历史记录,以便于在新职位出现时可联系过去未成功的求职者, 如果随着时间的推移他们申请了不同的职位,则可以比较求职者提供的信息。 在与人力资源团队进行协商之后,高级数据库开发人员决定需要一个新表来存储这些历史信息。高级数据库开发人员要求您:创 建 一 个 名 为HumanResources.JobCandidateHistory 的 新 表 。JobCandidateHistory 表有以下列和约束:JobCandidateID
2、。不可包含null 值的 int 列。此列中的值必须是惟一的。Resume。可包含 null 值的 nvarcher 列。Rating。不可包含null 值的 int 列。此列中的值必须介于1 到 10 之间,默认值为5。RejectedDate 。不可包含null 值的 datetime 列。ContactID 。可包含null 值的 int 列。此列是Person.Contact 表中的ContactID 列的外键。测试 JobCandidateHistory 表和约束在 HumanResources.JobCandidate 表上创建一个名为dJobCandidate 的新的DELETE
3、 触发器,它在有人删除求职者时将该求职者的信息复制到HumanResources.JobCandidateHistory 表中。JobCandidateID 和 Resume 列必须直接复制过去, 并且 RejectedDate 通过使用getdate 函数设置为当前日期。Rating 应保留为其默认值,并且ContactDetails 应设置为NULL。CREATETABLE HumanResources. JobCandidateHistory ( JobCandidateID intNOT NULLprimarykey , Resume varchar( 20 )NULL, Rating
4、 INTNOT NULLCHECK( Rating=1 AND Rating=1 AND Rating=10 )DEFAULT( Rating=5), RejectedDate datetimeNOT NULL, ContactDetails varchar( 20 )NULL ) CREATETRIGGER dJobCandidate ON HumanResources. JobCandidate AFTER DELETE ASBEGIN SETNOCOUNT ON DECLARE JobCandidateID INT DECLARE Resume varchar( 20 ) DECLARE
5、 RejectedDate datetime SELECTJobCandidateID=DELETED. JobCandidateID, Resume=DELETED . Resume, RejectedDate=GETDATE() INSERTINTO HumanResources. JobCandidateHistory ( JobCandidateID,Resume , RejectedDate) VALUES( JobCandidateID, Resume, RejectedDate) END第 2 题:用下述语句创建视图CREATE VIEW ProductsView AS SELE
6、CT ProductID, Price, Company FROM Supplier INNER JOIN Products ON Suppliers.ID = Products.SupplierID ORDER BY ProductID 出现错误,为什么,如何修改。请写出原因与修改后的创建视图的T-SQL命令。ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,去掉 ORDER BY。CREATEVIEW ProductsView AS名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
7、 - - - - - 第 2 页,共 6 页 - - - - - - - - - SELECT ProductID, Price, Company FROM Supplier INNERJOIN Products ON Suppliers. ID = Products. SupplierID第 3 题:Adventure Works 维护着一份各种产品在全年中的特价供应和折扣的列表,该列表同时适用于客户和分销商。目前,此信息只能直接从Sales.SpecialOffer 表中获得。一项新提出的要求是能够 使用存储过程和用户定义函数检索此信息,并且使用存储过程插入新的特价供应。要求如下:1. 在
8、 Sales 架构中创建名为GetDiscountsForCategoryAndDate 的存储过程,该过程接受Category 参数,此参数为nvarchar 数据类型,并且最多接受50 个字符,和另一个DateToCheck datetime 输入参数。o DateToCheck 参数必须能够接受NULL 默认值。如果为DateToCheck 参数指定了NULL 值,则使用GETDATE 函数将该参数值设置为当前日期和时间。o 该过程从Sales.SpecialOffer 中检索以下列:Description、DiscountPct、Type、Category、StartDate、EndD
9、ate、MinQty 和MaxQty 。应该基于Category 和 DateToCheck 参数筛选行。CREATEPROC Sales. GetDiscountsForCategoryAndDate Category varchar( 50 ), DateToCheck datetimeAS IF ( DateToCheck ISNULL) SELECT DateToCheck=GETDATE()SELECTDescription, DiscountPct, Type , Category, StartDate, EndDate, MinQty, MaxQty FROM Sales. Sp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年SQL数据库作业 2022 SQL 数据库 作业
限制150内