触发器与存储过程精选文档.ppt
《触发器与存储过程精选文档.ppt》由会员分享,可在线阅读,更多相关《触发器与存储过程精选文档.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、触发器与存储过程触发器与存储过程本讲稿第一页,共五十九页Transact-SQL程序设计程序设计n数据类型n系统提供的数据类型n用户自定义的数据类型n变量与常量n运算符与表达式n算术运算符与表达式n位运算符与表达式n比较运算符与表达式n逻辑运算符与表达式n连接运算符与表达式本讲稿第二页,共五十九页Transact-SQL程序设计程序设计n函数n常用函数:字符串函数,数学函数,日期函数n用户定义函数n程序控制流语句n语句块BEGIN.ENDn条件执行语句IFELSEnWHILE循环语句本讲稿第三页,共五十九页n变量用于临时存放数据,变量中的数据随着程序的运行而变化,变量有名字与数据类型两个属性。
2、n变量的命名使用常规标识符,即以字母、下划线(_)、at符号()、数字符号(#)开头,后续字母、数字、at符号、美元符号($)、下划线的字符序列。不允许嵌入空格或其他特殊字符。1变量变量9.1.2 9.1.2 常量与变量常量与变量本讲稿第四页,共五十九页n全局变量由系统定义并维护,通过在名称前面加“”符号n局部变量的首字母为单个“”。全局变量和局部变量全局变量和局部变量9.1.2 9.1.2 常量与变量常量与变量本讲稿第五页,共五十九页(1)局部变量局部变量n局部变量使用DECLARE语句定义DECLARE local_variable data_type,.nn变量名最大长度为30个字符。一
3、条DECLARE语句可以定义多个变量,各变量之间使用逗号隔开。n例如DECLARE name varchar(30),type int9.1.2 9.1.2 常量与变量常量与变量本讲稿第六页,共五十九页局部变量的赋值局部变量的赋值 用SELECT为局部变量赋值SELECT variable_name=expression,nFROM WHERE n例如nDECLARE int_var intnSELECT int_var=12 /*给int_var赋值*/nSELECT int_var /*将int_var的值输出到屏幕上*/9.1.2 9.1.2 常量与变量常量与变量本讲稿第七页,共五十九页
4、在一条语句中可以同时对几个变量进行赋值在一条语句中可以同时对几个变量进行赋值n例如nDECLARE LastName char(8),Firstname char(8),BirthDate datetimenSELECT LastName=Smith,Firstname=David,BirthDate=1985-2-20nSELECT LastName,Firstname,BirthDaten局部变量没有被赋值前,其值是NULL,若要在程序中引用它,必须先赋值。9.1.2 9.1.2 常量与变量常量与变量本讲稿第八页,共五十九页例1 使用SELECT语句从S表中检索出学生编号为“95001”的
5、行,再将学生的名字赋给变量stuname。DECLARE stuname varchar(40)SELECT stuname=snameFROM SWHERE Sno=950019.1.2 9.1.2 常量与变量常量与变量本讲稿第九页,共五十九页 用用SET给局部变量赋值给局部变量赋值nSET语句格式为:SET local_variable=expressionn使用SET初始化变量的方法与SELECT语句相同,但一个SET语句只能为一个变量赋值。例2 计算S表的记录数并赋值给局部变量rows。DECLARE rows intSET rows=(SELECT COUNT(*)FROM S)SE
6、LECT rows9.1.2 9.1.2 常量与变量常量与变量本讲稿第十页,共五十九页(2)全局变量全局变量n全局变量通常被服务器用来跟踪服务器范围和特定会话期间的信息,不能显式地被赋值或声明。n全局变量不能由用户定义,也不能被应用程序用来在处理器之间交叉传递信息。9.1.2 9.1.2 常量与变量常量与变量本讲稿第十一页,共五十九页2 函函 数数2.1 常用函数2.2 用户定义函数本讲稿第十二页,共五十九页9.2 9.2 函函 数数2.1 常用函数常用函数n函数是组编译好的Transact-SQL语句,它们可以带一个或一组数值做参数,也可不带参数,它返回一个数值、数值集合,或执行一些操作。n
7、函数能够重复执行一些操作,从而避免不断重写代码。nSQL Server 2000支持两种函数类型:(1)内置函数:是一组预定义的函数,是Transact-SQL语言的一部分,按Transact-SQL参考中定义的方式运行且不能修改。(2)用户定义函数:由用户定义的Transact-SQL函数。它将频繁执行的功能语句块封装到一个命名实体中,该实体可以由Transact-SQL语句调用。本讲稿第十三页,共五十九页9.2.1 9.2.1 常用函数常用函数日期函数日期函数n日期函数用来操作datetime和smalldatetime类型的数据,执行算术运算。与其他函数一样,可以在SELECT语句和WH
8、ERE子句以及表达式中使用日期函数。本讲稿第十四页,共五十九页9.2.1 9.2.1 常用函数常用函数SQL Server的日期函数的日期函数函数名称及格式描 述Getdate()返回当前系统的日期和时间返回当前系统的日期和时间Datename(datepart,date_expr)以字符串形式返回以字符串形式返回date_exprdate_expr中的指定部分,如果合适的话还将其转中的指定部分,如果合适的话还将其转换为名称换为名称(如如June)June)Datepart(datepart,date_expr)以整数形式返回以整数形式返回date_exprdate_expr中的中的datep
9、artdatepart指定部分指定部分Datediff(datepart,date_expr1,date_expr2)以以datepartdatepart指定的方式,返回指定的方式,返回date_expr2date_expr2与与date_expr1date_expr1之差之差Dateadd(datepart,number,date_expr)返回以返回以datepartdatepart指定方式表示的指定方式表示的date_exprdate_expr加上加上numbernumber以后的日期以后的日期Day(date_expr)返回返回date_exprdate_expr中的日期值中的日期值M
10、onth(date_expr)返回返回date_exprdate_expr中的月份值中的月份值Year(date_expr)返回返回date_exprdate_expr中的年份值中的年份值本讲稿第十五页,共五十九页9.2.1 9.2.1 常用函数常用函数日期部分日期部分日期部分日期部分写写 法法取值范围取值范围Yearyy17539999Quarterqq14Monthmm112Dayofyeardy1366Daydd131Weekwk154Weekdaydw17(MonSun)Hourhh023Minutemi059Secondss059Millisecondms0999本讲稿第十六页,共五
11、十九页9.2.1 9.2.1 常用函数常用函数例:DECLARE int_var intSELECT int_var=datediff(dd,2009-10-11,2009-11-10)SELECT int_varn为了从datediff中得到一个正值,应注意把较早的日期放在前面 本讲稿第十七页,共五十九页9.2.1 9.2.1 常用函数常用函数例:DECLARE char_var varchar(10)SELECT char_var=datename(dd,2009-10-11)SELECT char_var 本讲稿第十八页,共五十九页An Introduction to Database
12、System1 SQL Server 2000触发器触发器1.1 SQL Server 2000触发器概述1.2 Deleted表和Inserted表 1.3 定义触发器1.4 删除触发器定义1.5 查看触发器 本讲稿第十九页,共五十九页An Introduction to Database System1.1 Server Server 20001.1 Server Server 2000触发器概述触发器概述n触发器是一种特殊的存储过程。n不需要由用户调用执行,而是当用户对表中的数据进行UPDATE、INSERT或DELETE操作时系统自动触发执行的。n触发器通常用于保证业务规则和数据完整性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 触发器 存储 过程 精选 文档
限制150内