SQLServer安全管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
www.cnbook.net
冶金工业出版社
对于触发器,请牢记以下重要几点: (1)触发器和某指定的表格有关,当该表格被删除时,任何与
该表有关的触发器同样会 被删除。 (2)在一个表上的每一个动作只能有一个触发器与之关联。 (3)在一个单独的表上,最多只能创建三个触发器与之关联,
一个INSERT触发器,一个DELETE触发器和一个UPDATE触 发器。 (4)当添加第二个由相同动作触发的触发器时,第一个触发器 会在没有任何警告信息的条件下被删除
www.cnbook.net
冶金工业出版社
12.1.2 创建存储过程的方法 开发存储过程可以用两个方法,一个是SQL Server的企业管理
器,另一个是用SQL Serverzid自带的查询分析器。两者能实 现同样的功能。 1. 使用SQL Serve企业管理器创建存储过程 要使用SQL Server企业管理器来创建一个存储过程。 2. 使用查询分析器来建立存储过程
冶金工业出版社
可以使用语句CREATE TRIGGER来创建一个触发器。与存储 过程不同,每个触发器都必须和某一个特定的表相关,而且 每一个触发器都只和作用于该表上的一个或多个动作有关, 下面就是CREATE TRIGGER语句的一个简单例子:
CREATE TRIGGER tr_webusers_insert ON webusers FOR INSERT AS
www.cnbook.net
冶金工业出版社
12.2 使用Transact-SQL开发触发器 触发器是一系列在表中的数据修改时要执行的SQL语句的集合。
可以创建一些在表中的数据在插入,修改或删除时触发的பைடு நூலகம் 发器。 12.2.1 创建触发器 使用命令CREATE TRIGGER来创建触发器。
www.cnbook.net
能够方便调试错误。 12.4.1 在屏幕上显示数据 一般的,当在执行批处理时并不需要在屏幕上打印任何结果。然而在调试一
组SQL语句时,PRINT语句就能派上用场。下面就是PRINT语句的一个 简单例子: DECLARE @myvariable VARCHAR(30) SELECT @myvariable="Hello There!" PRINT @myvariable 不能使用PRINT语句在屏幕上打印除字符类型以外的其他数据类型
12.3.2 在开发过程中使用游标 1. 监视Transact-SQL游标的活动 2. 使用游标变量 3. 引用Transact-SQL游标
冶金工业出版社
www.cnbook.net
冶金工业出版社
12.4 使用Transact-SQL的其他技巧 Transact-SQL有很多技巧,使用的好,可以提高开发效率和程序运行的效率,
www.cnbook.net
冶金工业出版社
12.2.2 使用Inserted和Deleted表 这里介绍两个特殊的表,Inserted表和Deleted表。此二表仅 仅在触发器运行时存在。可以使用两个表来精确地确定触发 器的动作对数据表所做的修改。
www.cnbook.net
冶金工业出版社
12.3 使用Transact-SQL开发游标 12.3.1 游标简介 关系数据库中的操作会对整个行集产生影响。由SELECT语句返回 行集包括所有满足该语句WHERE子句中条件的行。由语句所返回的 一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序 并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需 一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结 集扩展。 游标通过以下方式扩展结果处理: (1)允许定位在结果集的特定行。 (2)从结果集的当前位置检索一行或多行。 (3)支持对结果集中当前位置的行进行数据修改。 (4)为由其他用户对显示在结果集中的数据库数据所做的更改提供 不同级别的可见性支持。 (5)提供脚本、存储过程和触发器中使用的访问结果集中的数据的 Tranwswawc.ct-nSboQoLk.语net句。
EXECUTE master..xp_sendmail "administrator" "New user registered!"
该触发器的名称为tr_webusers_insert。可以使用任何想用的名 称来命名触发器,但是每个触发器都必须有惟一的名称。在 触发器的名称内包含和触发器相关联的表和动作作为触发器 名称的一部分是一个很好的主意
www.cnbook.net
冶金工业出版社
12.1.3 存储过程的用途 存储过程的用途几乎是无限的。从返回SELECT语句 的结果并用于用户报表到执行复杂的数据有效性校验,可 以用存储过程来做任何事。至于说存储过程到底能做什么, 部分地取决于支持前面列出的两个观点中的哪一种。以下 是存储过程的一些用途: (1)模块化的程序设计。 (2)快速执行。 (3)网络通信量。 (4)安全性。
www.cnbook.net
冶金工业出版社
12.1.1 存储过程的概念 存储过程只是一个SQL语句组合,它们被编译在一起,能通过
单个命令而被执行。存储过程能用于向用户返回数据、在表 中插入新数据、修改数据、执行系统函数和管理任务。总之, 它们是SQL Server中功能非常强大的一部分,它能使用户的 工作更轻松。
12.1 使用Transact-SQL开发存储过程 存储过程是SQL Server上的一个非常有用的特性。存储过程由
被编译在一起的一组SQL语句组成,并可以通过调用单个命 令来执行。它们对于维护那些在SQL Server上运行应用程序 时所需的代码是非常有用的。SQL Server也预安装了许多系 统存储过程,这些系统存储过程在服务器上运行,用于收集 关于服务器的专门信息。
第12章 Transact-SQL的高级应用 冶金工业出版社
www.cnbook.net
12.1 使用Transact-SQL开发存储过程 12.2 使用Transact-SQL开发触发器 12.3 使用Transact-SQL开发游标 12.4 使用Transact-SQL的其他技巧
目录
冶金工业出版社
冶金工业出版社
对于触发器,请牢记以下重要几点: (1)触发器和某指定的表格有关,当该表格被删除时,任何与
该表有关的触发器同样会 被删除。 (2)在一个表上的每一个动作只能有一个触发器与之关联。 (3)在一个单独的表上,最多只能创建三个触发器与之关联,
一个INSERT触发器,一个DELETE触发器和一个UPDATE触 发器。 (4)当添加第二个由相同动作触发的触发器时,第一个触发器 会在没有任何警告信息的条件下被删除
www.cnbook.net
冶金工业出版社
12.1.2 创建存储过程的方法 开发存储过程可以用两个方法,一个是SQL Server的企业管理
器,另一个是用SQL Serverzid自带的查询分析器。两者能实 现同样的功能。 1. 使用SQL Serve企业管理器创建存储过程 要使用SQL Server企业管理器来创建一个存储过程。 2. 使用查询分析器来建立存储过程
冶金工业出版社
可以使用语句CREATE TRIGGER来创建一个触发器。与存储 过程不同,每个触发器都必须和某一个特定的表相关,而且 每一个触发器都只和作用于该表上的一个或多个动作有关, 下面就是CREATE TRIGGER语句的一个简单例子:
CREATE TRIGGER tr_webusers_insert ON webusers FOR INSERT AS
www.cnbook.net
冶金工业出版社
12.2 使用Transact-SQL开发触发器 触发器是一系列在表中的数据修改时要执行的SQL语句的集合。
可以创建一些在表中的数据在插入,修改或删除时触发的பைடு நூலகம் 发器。 12.2.1 创建触发器 使用命令CREATE TRIGGER来创建触发器。
www.cnbook.net
能够方便调试错误。 12.4.1 在屏幕上显示数据 一般的,当在执行批处理时并不需要在屏幕上打印任何结果。然而在调试一
组SQL语句时,PRINT语句就能派上用场。下面就是PRINT语句的一个 简单例子: DECLARE @myvariable VARCHAR(30) SELECT @myvariable="Hello There!" PRINT @myvariable 不能使用PRINT语句在屏幕上打印除字符类型以外的其他数据类型
12.3.2 在开发过程中使用游标 1. 监视Transact-SQL游标的活动 2. 使用游标变量 3. 引用Transact-SQL游标
冶金工业出版社
www.cnbook.net
冶金工业出版社
12.4 使用Transact-SQL的其他技巧 Transact-SQL有很多技巧,使用的好,可以提高开发效率和程序运行的效率,
www.cnbook.net
冶金工业出版社
12.2.2 使用Inserted和Deleted表 这里介绍两个特殊的表,Inserted表和Deleted表。此二表仅 仅在触发器运行时存在。可以使用两个表来精确地确定触发 器的动作对数据表所做的修改。
www.cnbook.net
冶金工业出版社
12.3 使用Transact-SQL开发游标 12.3.1 游标简介 关系数据库中的操作会对整个行集产生影响。由SELECT语句返回 行集包括所有满足该语句WHERE子句中条件的行。由语句所返回的 一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序 并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需 一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结 集扩展。 游标通过以下方式扩展结果处理: (1)允许定位在结果集的特定行。 (2)从结果集的当前位置检索一行或多行。 (3)支持对结果集中当前位置的行进行数据修改。 (4)为由其他用户对显示在结果集中的数据库数据所做的更改提供 不同级别的可见性支持。 (5)提供脚本、存储过程和触发器中使用的访问结果集中的数据的 Tranwswawc.ct-nSboQoLk.语net句。
EXECUTE master..xp_sendmail "administrator" "New user registered!"
该触发器的名称为tr_webusers_insert。可以使用任何想用的名 称来命名触发器,但是每个触发器都必须有惟一的名称。在 触发器的名称内包含和触发器相关联的表和动作作为触发器 名称的一部分是一个很好的主意
www.cnbook.net
冶金工业出版社
12.1.3 存储过程的用途 存储过程的用途几乎是无限的。从返回SELECT语句 的结果并用于用户报表到执行复杂的数据有效性校验,可 以用存储过程来做任何事。至于说存储过程到底能做什么, 部分地取决于支持前面列出的两个观点中的哪一种。以下 是存储过程的一些用途: (1)模块化的程序设计。 (2)快速执行。 (3)网络通信量。 (4)安全性。
www.cnbook.net
冶金工业出版社
12.1.1 存储过程的概念 存储过程只是一个SQL语句组合,它们被编译在一起,能通过
单个命令而被执行。存储过程能用于向用户返回数据、在表 中插入新数据、修改数据、执行系统函数和管理任务。总之, 它们是SQL Server中功能非常强大的一部分,它能使用户的 工作更轻松。
12.1 使用Transact-SQL开发存储过程 存储过程是SQL Server上的一个非常有用的特性。存储过程由
被编译在一起的一组SQL语句组成,并可以通过调用单个命 令来执行。它们对于维护那些在SQL Server上运行应用程序 时所需的代码是非常有用的。SQL Server也预安装了许多系 统存储过程,这些系统存储过程在服务器上运行,用于收集 关于服务器的专门信息。
第12章 Transact-SQL的高级应用 冶金工业出版社
www.cnbook.net
12.1 使用Transact-SQL开发存储过程 12.2 使用Transact-SQL开发触发器 12.3 使用Transact-SQL开发游标 12.4 使用Transact-SQL的其他技巧
目录
冶金工业出版社