



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【例5-6】在StudentCourse数据库中,创建Student (学生信息表),Course (课程信息表),SC (选修表) 共三个表。在Student表中,为Sname、Ssex添加非空约束,为Sage添加Check约束(范围为1540岁)。在Course表中定义Cno为主键。在SC表中,为Sno、Cno添加外键约束,为Grade添加Check约束(范围为0100),定义Sno、Cno的组合为表级主键。USE StudentCourseGoCreate Table Student (Sno Char(10) Constraint Stu_Pri Primary Key, Sname Char(20) Not Null, Ssex Char(2) Not Null, SCollege Char (30) Null , Sage Int Constraint Stu_Check Check(Sage Between 15 To 40)GoCreare Table Course (Cno Char (3) Constraint C_Primary Primary Key, Cname Char (30) , Ccredit Decimal (3, 1) )GoCreate Table SC (Sno Char(10) Constraint SC_For1 Foreign Key References Student5(Sno), Cno Char(3) Constraint SC_For2 Foreign Key References Course(Cno), Grade Int Constraint SC_Check Check(Grade Between 0 And 100), Constraint SC_Pri Primary Key(Sno,Cno)【例5-7】向SC表中添加姓名(Sname)列。USE StudentCourseGoAlter Table SCAdd Sname Char(30) Null【例5-8】修改SC表中Sname列的数据类型。USE StudentCourseGoAlter Table SCAlter Column Sname Varchar(30)【例5-9】向SC表的Sname列中添加Unique约束Un_Sname。USE StudentCourseGoAlter Table SCAdd Constraint Un_Sname Unique (Sname)【例5-10】删除SC表中Sname列的Unique约束。USE StudentCourseGoAlter Table SCDrop Constraint Un_Sname【例5-14】查询选修了课程的学生的学号、姓名、选修课程的名称和成绩,该查询可以使用常规的Where子句设置连接条件,也可以使用内部连接方式。方法一: USE StudentCourseGoSelect Student. Sno, Sname, Cname,GradeFrom Student, SC,CourseWhere Student. Sno=SC. Sno And SC.Cno= Course.CnoGo/*该方法的连接条件在Where子句中*/方法二:USE StudentCourseGoSelect Student. Sno, Sname, Cname, GradeFrom Student Inner Join SC On Student. Sno=SC. SnoInner Join Course On SC.Cno= Course.Cno/*该方法的连接条件在From子句中*/【例5-15】查询所有学生的学号、姓名和成绩。Select Student. Sno, Sname, GradeFrom Student Left Outer Join SC On Student. Sno=SC. Sno【5-23】创建一个用于查询选修了课程的学生的学号、姓名,以及选修的课程名称及成绩的视图。题目分析:该题目涉及到StudentCourse数据库中三个表的连接查询。【操作步骤】(1)在新建查询窗口输入如下SQL语句USE StudentCourseGoCreate View StudentgradeAsSelect Student.Sno,Sname, Cname,GradeFrom Student ,SC,CourseWhere Student.Sno=SC.Sno And SC.Cno=Course.Cno上面的查询使用的Where条件连接,也可以使用内连接完成,其SQL语句为:USE StudentCourseGoCreate View StudentgradeAsSelect Student.Sno,Sname, Cname,GradeFrom Student Inner Join SC On Student. Sno=SC. Sno AND SC Inner Join Course On SC. Cno= Course. Cno【例5-29】 创建名称为“Cunchu1”的存储过程,该存储过程用于查询student表的所有信息。Create Procedure Cunchu1 As Select * From Student2)创建含参数的存储过程【例5-30】创建名称为“Cunchu2”的存储过程,该存储过程用于根据所输入的学生学号查询SC表的信息。Create Procedure Cunchu2 Findsno Char(10) As Select Sno,Cno,Grade From SC Where Sno=Findsno【例5-31】 创建一个名称为“Cunchu3” 的存储过程,通过该存储过程,可以向SC表添加新记录。Create Procedure Cunchu3 Sno Char(10), Cno Char(3),Grade Int As Insert SC Values(Sno,Cno,Grade)【例5-35】为Course表创建一个Update触发器,当更新该表中的数据时给出“你更新了数据”提示信息。【操作步骤】USE StudentCourseGo Create Trigger Update_Trigger On Course For Update AsRaiserror(你更新了数据,10,1)运行结果如图5-86所示。【例5-36】 创建一个Delete触发器,要求每当学生表中删除一条学生记录,引发该触发器,从SC表中删除这个学生的成绩数据。USE StudentCourseGoCreate Trigger Delete_ TriggerOn StudentFor Delete AsSet Nocount Off /*不显示由T-SQL影响的行数*/Declare Stno Int /*定义stno为整型局部变量*/Select Stno = Sno From Deleted /*从临时表Deleted中获取学号*/Delete From SC Where Sno = StnoG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诺如病毒相关知识培训课件
- 2025年度(参考)房地产合作开发投资合同签订框架协议
- 语言文字规范化培训知识课件
- 红酒护肤知识培训班课程课件
- 2025某单位门卫聘用合同
- 语文教学知识培训心得课件
- 合同审批管理标准操作模板
- 技术文档撰写规范及提交模板
- 农产品跨境销售贸易合同条款
- 红楼梦第59回课件
- 2025-2026学年粤人版(2024)初中地理八年级上册教学计划及进度表
- 牧护关镇街道小学2025-2026学年第一学期工作计划
- 2025年《医疗器械监督管理条例》培训考核试卷附答案
- 2025-2030矿山机械跨境电商新模式拓展及品牌出海战略报告
- 养老金融科普知识培训课件
- 慢性咳嗽大讲堂课件
- 暂住人员管理办法
- 护理查对不良事件案例分析
- 化验室精细化管理
- 洗衣服劳动与技术课件
- 2024年呼伦贝尔农垦集团有限公司招聘笔试真题
评论
0/150
提交评论