网站大量收购闲置独家精品文档,联系QQ:2885784924

信息系统与数据库技术课件作者刘晓强讲义D2008-4.4_6_SQLServer存储过程 触发器.ppt

信息系统与数据库技术课件作者刘晓强讲义D2008-4.4_6_SQLServer存储过程 触发器.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. 标识符、常量和变量 (1)标识符:由用户定义的名称,用来标识各种对象如服务器、数据库、数据库对象、变量等。 *如果标志符中包含空格,要用双引号(“”)或方括号([])扩起来。如:Student Name不合法,必须将其表示为[Student Name]或"Student Name"。 (2) 表达式:表达式是由运算对象、运算符及圆括号组成。 可在SQL查询分析器中使用Select语句查看表达式的结果 例:SELECT ABCD+1234 数据库的三级模式结构 视图示例: 【例4-60】在数据库School中,建立视图V_StudentAvgGrade, 查询学生的平均成绩。 1)在新建视图窗口中上格选择表T_Student和T_Grade; 2)在字段网格中选择字段和设定汇总字段,或直接在SQL语句窗格中辅助完成语句: SELECT StudentName, AVG(Grade) AS 平均成绩 FROM T_Grade INNER JOIN T_Student ON T_Grade.StudentCode = T_Student.StudentCode GROUP BY StudentName 3)运行查看视图结果,保存该视图为V_StudentAvgGrade。 【例4-61】在数据库School中,建立视图V_StudentAvgGradeExcellent, 查询平均成绩大于等于90学生。 该例可以参照前面方法在基本表T_Student和T_Grade上创建。但由于视图的内容也可以来自另一个视图,本例基于V-StudentAvgGrade完成。各窗格设置及查询结果如图4-61所示。 【例4-70】在School数据库的T_Grade表上创建一个触发器tri_Grade,当向T_Grade表中插入一条记录时,检查该记录的学号是否在T_Student表中,如果不存在则取消插入操作,否则显示“插入操作成功完成”。 CREATE TRIGGER tri_Grade ON T_Grade FOR INSERT AS DECLARE @text varchar(50) IF EXISTS(SELECT * FROM inserted WHERE inserted.StudentCode NOT IN (SELECT StudentCode FROM T_Student)) BEGIN SET @text=学生的学号不存在,将取消该插入操作 RAISERROR(@text,16,1) ROLLBACK TRANSACTION END Else SET @text=插入操作成功完成 SELECT @text 【例4-64】在School中创建一个的存储过程proc_SearchStudent,查询指定学生的选课情况。 CREATE PROC proc_SearchStudent @stcode char(8) AS SELECT T_Student.StudentName,T_Course.CourseName FROM T_Student JOIN T_Grade JOIN T_Course ON T_Grade.CourseCode=T_Course.CourseCode ON T_Student.StudentCode=T_Grade.StudentCode WHERE T_Student.StudentCode=@scode 4.5.2 执行存储过程 存储过程定义后,可通过EXECTE语句来执行。 语法格式: EXEC[UTE] 存储过程名[[@形参=]实参值|@变量[OUTPUT]|[DEFAULT]] 1)“@形参”是创建存储过程时定义的形参名; 2)“实参值”是输入参数的值; 3)“@变量”表示用来保存参数或者返回参数的变量;OUTPUT表示指定参数为返回参数; 4)DEFAULT表示使用该参数的默认值作为实参。 5)如有多个参数,可依次按以上参数定义规则列出,用逗号“,”隔开。 调用【例4-63】创建的存储过程proc_Course的语句为: EXEC proc_Course 调用【例4-64】创建的存储过程proc_SearchStudent,查询学生的选课情况。 EXEC proc_SearchStudent或 EXEC proc_ SearchStudent @scode采用“参数=值”的形式,各个参数的顺序可以任意排列。 实参顺序和定义时的参

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档