随笔分类 - MS SQL Server
MS SQL Server
摘要:在本章第五节我们已经指出SQL Server 2000 支持AFTER 和INSTEAD OF 两种类型的触发器。其中INSTEAD OF 触发器是SQL Server 2000 的新添加的功能,AFTER 触发器等同于以前版本中的触发器。当为表或视图定义了针对某一操作(INSERT、 DELETE、 UPDATE) 的INSTEAD OF 类型触发器且执行了相应的操作时,尽管触发器被触发,但...
阅读全文
摘要:从以上的介绍中我们可以看出触发器具有强大的功能,那么MS SQL Server 是如何管理触发器来完成这些任务呢?下面我们将对其工作原理及实现做较为详细的介绍。 每个触发器有两个特殊的表:插入表和删除表。这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其修改。这两个表的结构总是与被该触发器作用的表有相同的表结构。这两个表是动态驻留在内存中...
阅读全文
摘要:上面介绍了有关触发器的概念、作用和一些基本问题,下面我们将分别介绍在MS SQLServer 中如何用SQL Server 管理工具Enterprise Manager 和Transaction_SQL 来创建触发器。 在创建触发器以前必须考虑到以下几个方面: CREATE TRIGGER 语句必须是批处理的第一个语句; 表的所有者具有创建触发器的缺省权限,表的所有者不能把该权限传给其它...
阅读全文
摘要:在上面几节我们介绍了一般意义的存储过程,即用户自定义的存储过程和系统存储过程。本节将介绍一种特殊的存储过程,即触发器。在余下各节中我们将对触发器的概念、作用以及对其的使用方法作详尽介绍,使读者了解如何定义触发器,创建和使用各种不同复杂程度的触发器。 12.5.1 触发器的概念及作用 触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的...
阅读全文
摘要:系统存储过程就是系统创建的存储过程,目的在于能够方便地从系统表中查询信息或完成与更新数据库表相关的管理任务或其它的系统管理任务。系统过程以“sp_"_ 为开头,在Master 数据库中创建并保存在该数据库中,为数据库管理者所有。一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其它用户所使用。 系统存储过程主要包括以下几类:(这里主要给出每类系统过程中经常使用的系统过程) ...
阅读全文
摘要:12.3.1 查看存储过程 存储过程被创建以后,它的名字存储在系统表sysobjects 中;它的源代码存放在系统表syscomments 中。可以通过MS SQL Server 提供的系统存储过程来查看关于用户创建的存储过程信息。 1 通过Enterprise Manager 管理工具同样可以查看存储过程的源代码 其操作如下: (1) 启动Enterprise Manager...
阅读全文
摘要:在MS SQL Server 2000 中,创建一个存储过程有两种方法:一种是使用Transaction-SQL 命令Create Procedure, 另一种是使用图形化管理工具Enterprise Manager。 用Transaction- SQL 创建存储过程是一种较为快速的方法,但对于初学者,使用Enterprise Manager 更易理解,更为简单。 当创建存储过程时,需要确...
阅读全文
摘要:在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就 本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQL Server 2000 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。 12.1.1 存储过程的概念 存储过程(St...
阅读全文
摘要:11.5.1 锁的概念 锁(Lock) 是在多用户环境下对资源访问的一种限制。机制当对一个数据源加锁后,此数据源就有了一定的访问限制。我们就称对此数据源进行了“锁定”。在SQL Server中,可以对以下的对象进行锁定: 数据行(Row):数据页中的单行数据; 索引行(Key):索引页中的单行数据,即索引的键值; 页(Page):页是SQL Server 存取数据的基本单位,其大小为8K...
阅读全文
摘要:11.4.1 事务的由来 使用DELETE 命令或UPDATE 命令对数据库进行更新时一次只能操作一个表,这会带来数据库的数据不一致的问题。例如:企业取消了后勤部,需要将‘后勤部’从department表中删除,要修改department 表,而employee 表中的部门编号与后勤部相对应的员工也应删除。因此,两个表都需要修,改这种修改只能通过两条DELETE 语句进行。假设后勤部编号...
阅读全文
摘要:11.3.1 UPDATE 语法 用户可以用UPDATE 语句来更新表中一列或多列数据值,其语法如下: 各参数说明如下: SET SET 子句用于指定更新的方法,即用的值取代相应的列的值。如果省略 WHERE 子句,那么表中的所有数据均会受到影响。在FROM 子句中指定的表或列的别名不能用于SET 子句中。 column_name 指定要更新数据的列。IDENTITY ...
阅读全文
摘要:11.2.1 DELETE 语法 DELETE 语句用来从表中删除数据,其语法为: 各参数说明如下: FROM 此参数为可选选项,用于连接DELETE 关键字和要删除数据的对象名称。 table_name 指定要删除数据的表。 WITH ( [...n]) 指定一个或多个目标表允许的表提示。 view_name 指定用于删除数据的视图。 row...
阅读全文
摘要:一个数据库能否保持信息的正确性、及时性、很大程度上依赖于数据库的更新功能的强弱与实时。数据库的更新包括插入、删除、修 改(也称为更新)三种操作。本章将分别讲述如何使用这些操作,以便有效地更新数据库。 在SQL Server 中可以在Enterprise Manager 中查看数据库表的数据时添加数据,但这种方式不能应付数据的大量插入,需要使用INSERT 语句来解决这个问题。 11...
阅读全文
摘要:SQL Server 2000 的Standard Edition 和Enterprise Edition 版本提供了对表数据中字符串的复杂检索功能---全文检索(Full-Text Searches)。此功能需要在安装时通过自定义安装选项来添加。 10.7.1 全文索引和目录 全文检索是通过使用全文索引(Full-Text Index)来实现的。一个全文索引中存储了表的数据中有确切含...
阅读全文
摘要:查询的信息往往需要保存下来,以便使用。在用SELECT 语句查询数据时,可以设定将数据存储到一个新建的表中或变量中。 10.6.1 存储查询结果到表中 使用SELECT…INTO 语句可以将查询结果存储到一个新建的数据库表或临时表中。如果要将查询结果存储到一个表而不是临时表中,那么在使用SELECT…INTO 语句前应确定存储该表的数据库的“Select into/bulk copy ...
阅读全文
摘要:在一个SELECT 语句的WHERE 子句或HAVING 子句中嵌套另一个SELECT 语句的查询称为嵌套查询,又称子查询。子查询是SQL 语句的扩展,其语句形式如下: SELECT [,...] FROM WHERE [表达式] (SELECT [,...] FROM [GROUP BY HAVING [比较运算符] (SELECT [,...] FROM ...
阅读全文
摘要:数据库中的各个表中存放着不同的数据,用户往往需要用多个表中的数据来组合、提炼出所需要的信息。如果一个查询需要对多个表进行操作,就称为连接查询。连接查询的结果集或结果表,称为表之间的连接连接。查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征。 连接查询分为等值连接查询、非等值连接查询、自连接查询、外部连接查询和复合条件连接查询。 10.3.1 等值与...
阅读全文
摘要:从本节开始,我们将用大量的实例来讲述SELECT 语句的应用。首先从最简单也是最常用的单表查询开始。 10.2.1 选择列 (1) 用SELECT 子句来指定查询所需的列,多个列之间用逗号分开 (2) 可以使用符号“*”来选取表的全部列 (3) 在查询结果中添加列 10.2.2 选择行 (1) 使用WHERE 子句 用户在查询数据库时,往往并不需要...
阅读全文
摘要:数据库是为更方便有效地管理信息而存在的人们,希望数据库可以随时提供所需要的数据信息。因此,对用户来说,数据查询是数据 库最重要的功能。本章将讲述数据查询的实现方法。 在数据库中,数据查询是通过SELECT 语句来完成的。SELECT 语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。我们在“Transact-SQL 语言”章节及前面的章节中已经初步接触到了SELECT...
阅读全文
摘要:缺省值(Default)是往用户输入记录时没有指定具体数据的列中自动插入的数据。缺省值对象与ALTER TABLE 或CREATE TABLE 命令操作表时用DEFAULT 选项指定的缺省值功能相似,但缺省值对象可以用于多个列或用户自定义数据类型,它的管理与应用同规则有许多相似之处。表的一列或一个用户自定义数据类型也只能与一个缺省值相绑定。 9.3.1 创建缺省值 (1) 用CREAT...
阅读全文
浙公网安备 33010602011771号