数据库数据库完整性触发器.ppt

上传人:王** 文档编号:182716 上传时间:2023-03-27 格式:PPT 页数:92 大小:1MB
下载 相关 举报
数据库数据库完整性触发器.ppt_第1页
第1页 / 共92页
数据库数据库完整性触发器.ppt_第2页
第2页 / 共92页
数据库数据库完整性触发器.ppt_第3页
第3页 / 共92页
数据库数据库完整性触发器.ppt_第4页
第4页 / 共92页
数据库数据库完整性触发器.ppt_第5页
第5页 / 共92页
数据库数据库完整性触发器.ppt_第6页
第6页 / 共92页
数据库数据库完整性触发器.ppt_第7页
第7页 / 共92页
数据库数据库完整性触发器.ppt_第8页
第8页 / 共92页
数据库数据库完整性触发器.ppt_第9页
第9页 / 共92页
数据库数据库完整性触发器.ppt_第10页
第10页 / 共92页
亲,该文档总共92页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库数据库完整性触发器.ppt》由会员分享,可在线阅读,更多相关《数据库数据库完整性触发器.ppt(92页珍藏版)》请在优知文库上搜索。

1、补充:1).T-SQL语言简介 T-SQL的存储过程:由SQL语句组成,分系统存储过程和用户自定义存储过程。 T-SQL组成:SQL语句、函数和存储过程。 T-SQL的子语言:数据定义语言DDL (Data Definition Language) 、数据操纵语言DML(Data Manipulation Language)和数据控制语言DCL(Data Control Language)。 T-SQL的函数:系统函数、聚集函数、数学函数、字符串函数、数据类型转换函数和日期函数等。2).T-SQL编程 表示及概念:变量名,由用户定义并使用。A.A.注释注释(Comment)(Comment)方

2、式方式 (1) 多行时,用 /* . */ (2) 单行时,用 -B.B.变量变量 局部变量定义:DECLARE 变量名 类型 , n DECLARE myqty int,msg varchar(40)(1)局部变量 说明:说明:(1) 变量一旦定义,系统自动赋NULL值。 (2) 对局部变量的赋值用SELECT语句。 SELECT myqty=60 表示及概念: 变量名 ,由系统定义,用户可使用之。 作用:用于指明系统运行过程中的运行状态,用户只能引用,不能修改和定义。(2)全局变量 常用的全局变量: (1) error:返回最后一个语句产生的错误码。 (2) rowcount:返回语句执行

3、后受影响的行数。 (3) version:SQL SERVER版本号。 (4) trancount:事务计数。 (5) transtate:事务状态(成功、失败)。C.SELECTC.SELECT用法用法 (1) 查看表或视图的内容;(2) 执行函数,返回值到客户端:SELECT db_name() 直接赋值:Select xxxx =2。一次只能一个。 从表中提取值赋给变量(应保证是唯一行且类型一致)。 (3) 给变量赋值(4)查看变量值:Select 变量示例:SELECT tp=price FROM titles T WHERE T.id=Bu1032D.D.流程控制语句流程控制语句 (

4、1) IF (条件关系式) ELSE IF:如果关系式含有SELECT语句,则该SELECT语句须用圆括号括起,其嵌套级别最多为150; IF (SELECT AVG(price) FROM titles) = 20 UPDATE titles SET price=price*1.3ELSE PRINT 平均价格未知!平均价格未知! (2) BEGIN . END: 用于界定由多条用于界定由多条SQLSQL语句组成的语句块;语句组成的语句块; 示例:示例: DECLARE avg_price money SELECT avg_price=AVG(price) FROM titles IF av

5、g_price 20 BEGIN UPDATE titles SET price=price*1.5 PRINT 价格提高价格提高50% END (3) (3) WHILE .BREAK/CONTINUEWHILE .BREAK/CONTINUE :循环控制语句:循环控制语句 示例:示例: WHILE (SELECT AVGAVG(price) FROM titles)30 BREAK END (4) GOTO .:跳到用户定义的标号处; (5) RETURN:无条件退出; (6) IF EXISTS/IF NOT EXISTS:是否有数据存在 IF NOT EXISTS (SELECT *

6、FROM titles WHERE title_id=010101) BEGIN PRINT 没有010101的任何记录 RETURN ENDE.E.信息显示信息显示 (1) Print . (2) Print msg (3)用参数嵌套形式加入不同的值: Print .%1!.%2!., 参数1,参数2,(7) WAITFOR:延迟某段时间 示例:WAITFOR DELAY 00:30:00 /* 延迟30分钟 */ 语法:WAITFOR DELAY 日期时间格式的时间值 | TIME 时间 | F.F.RAISERROR 用途:系统有很多系统信息及其代码(代码值在两万以下),用户也可用RAI

7、SERROR,自己定义错误信息及其代码(其代码值应在两万以上)。 语法:RAISERROR 错误代码 错误信息 | 局部变量 , 参数表 例: DECLARE table_name varchar(30)SELECT table_name =TITLERAISERROR 99999 表%1!不存在。,table_name3).T-SQL提供的函数 A. A.字符串操作字符串操作 (1) 连接操作: + (2) convert函数 作用:将表达式按指定风格转换成指定的类型,其中的style只用于日期类型到字符串的转换。 语法:convert(类型符,表达式,style) convert(char

8、(10),pubdate,105) 其中,pubdate为日期型。 示例: (3)日期 = 字符串style取值输出格式2yy.mm.dd3dd/mm/yy4dd.mm.yy5dd-mm-yy102yyyy.mm.dd103dd/mm/yyyy104dd.mm.yyyy105dd-mm-yyyyB.B.有关日期的几个函数有关日期的几个函数 (1) getdate()(2) datename()与datepart() datename(日期元素,日期表达式):以字符串形式返回日期元素指定的日期的名字 用途:将服务器OS的时间送客户机。 示例:SELECT getdate() datepart(日

9、期元素,日期表达式):以数字形式返回日期元素指定的日期的名字 日期元素及其指定返回的日期部分为:日期元素及其指定返回的日期部分为: yy:返回日期表达式中的年year或年数。 qq:返回日期表达式表示的季quarter或季数。 mm:返回日期表达式中的月month或月数。 dw:返回日期表达式表示的星期几day of week。 dy:返回日期表达式表示的一年中的第几天day of year dd:返回日期表达式中的天或天数day。 wk:返回日期表达式表示的一年中的第几个星期week或星期数。 hh:返回日期表达式中的小时hour或小时数。(3) dateadd()与datediff() d

10、ateadd(日期元素,数值,日期表达式):将数值转换成日期元素指定的部分加到日期表达式上返回。 datediff(日期元素,较早日期表达式,较晚日期表达式):两个日期相减后,按日期元素指定部分转化后返回。示例:示例: Select datename(mm,pubdate) from titiles where title_id=Bu1032返回June,如用datepart则返回 6。函函 数数示示 例例结结 果果abs(数值表达式)abs(-100)100ceiling(数值表达式)ceiling(99.2)100floor(数值表达式)floor(99.2)99round(数值表达式,整

11、数表达式)round(66.2387,2)66.24exp(浮点表达式)exp(0)1rand(整数)rand(23)log(浮点表达式)log(1)0pi()pi()3.14159265.power(数值表达式,指数表达式)power(2,10)1024sqrt(数值表达式)sqrt(4)2sin(浮点表达式),cos(浮点表达式),tan(浮点表达式)sin(pi()0C.C.数学函数数学函数 4)存储过程v创建存储过程v执行存储过程v查看和修改存储过程v重命名和删除存储过程 存储过程的概念vSQL Server提供了一种方法,它可以将一些固定的操作集中起来由SQL Server数据库服务

12、器来完成,以实现某个任务,这种方法就是存储过程。v在SQL Server中存储过程分为两类:即系统提供的存储过程和用户自定义的存储过程。 创建存储过程 v在SQL Server中,可以使用三种方法创建存储过程 :v使用创建存储过程向导创建存储过程。v利用SQL Server 企业管理器创建存储过程。v使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程。 创建存储过程时,需要确定存储过程的三个组成部分:v所有的输入参数以及传给调用者的输出参数。v被执行的针对数据库的操作语句,包括调用其它存储过程的语句。v返回给调用者的状态值,以指明调用是成功还是失败。1. 使用

13、创建存储过程向导创建存储过程 v在企业管理器中,选择工具菜单中的向导选项,选择“创建存储过程向导” ,则出现欢迎使用创建存储过程向导对话框。根据图提示可完成创建存储过程。新建新建SQL ServerSQL Server组组欢迎使用创建存储过程向导对话框欢迎使用创建存储过程向导对话框选择数据库对话框选择数据库对话框 选择数据库对象对话框选择数据库对象对话框完成创建存储过程向导对话框完成创建存储过程向导对话框编辑存储过程属性对话框编辑存储过程属性对话框编辑存储过程编辑存储过程SQL对话框对话框2. 使用SQL Server 企业管理器创建存储过程 v()在SQL Server企业管理器中,选择指定

14、的服务器和数据库,用右键单击要创建存储过程的数据库,在弹出的快捷菜单中选择“新建”选项,再选择下一级菜单中的“存储过程”选项,如图5-77所示;或者用右键单击存储过程图标,从弹出的快捷菜单中选择“新建存储过程”选项,如图5-78所示。均会出现创建存储过程对话框。v()在文本框中可以输入创建存储过程的T_SQL语句,单击“检查语法”,则可以检查语法是否正确;单击“确定”按钮,即可保存该存储过程。如果要设置权限,单击“权限”按钮。选择新建存储过程对话框(选择新建存储过程对话框(1)选择新建存储过程对话框(选择新建存储过程对话框(2)新建存储过程对话框新建存储过程对话框设置权限对话框设置权限对话框3

15、. 使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程v创建存储过程前,应该考虑下列几个事项:v不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。v创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。v存储过程是数据库对象,其名称必须遵守标识符规则。v只能在当前数据库中创建存储过程。v一个存储过程的最大尺寸为128M。使用CREATE PROCEDURE创建存储过程的语法形式如下: vCREATEPROCEDUREprocedure_name;number p a r a m e t e r d a t

16、a _ t y p e V A R Y I N G = d e f a u l t O U T P U T ,.n WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION FORREPLICATION AS sql_statement .n 用CREATE PROCEDURE创建存储过程的语法参数的意义如下: procedure_name:用于指定要创建的存储过程的名称。 number:该参数是可选的整数,它用来对同名的存储过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。 parameter:过程中的参数。在 CREATE PROCEDURE 语句中可以声明一个或多个参数。 data_type:用于指定参数的数据类型。 VARYING:用于指定作为输出OUTPUT参数支持的结果集。 Default:用于指定参数的默认值。 OUTPUT:表明该参数是一个返回参数。 RECOMPILE:表明 SQL Server 不会保存该存储过程的执行计划 。ENCRYPTION :表示 SQL Server 加密了 syscomm

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!