新SQL Server2000实用教程 教学课件 蒋文沛 第10章.pptVIP

  • 1
  • 0
  • 约5.77千字
  • 约 25页
  • 2016-10-26 发布于广东
  • 举报

新SQL Server2000实用教程 教学课件 蒋文沛 第10章.ppt

10.1用户自定义函数简介 SQL Server 不但提供了系统内置函数,而且还允许用户根据实际需要创建用户自定义函数。用户自定义函数是由一条或多条Transact-SQL语句组成的子程序,保存在数据库内。它可以具有多个输入参数,并返回一个标量值(单个数据值)或一个表。 SQL Server支持三种类型的用户自定义函数:标量(Scalar)函数、内嵌表值(In―Line Table―Valued)函数、多语句表值(Multi―Statement Table―Valued)函数。 10.2创建用户自定义函数 创建用户自定义函数有两种方法:一种是使用企业管理器,另一种是使用查询分析器。 10.2创建用户自定义函数 10.2.1使用企业管理器创建用户自定义函数 使用企业管理器创建用户自定义函数的步骤如下: (1)展开服务器,展开数据库。 (2)右击“用户定义的函数”,在弹出的菜单中选择“新建用户定义的函数”命令,屏幕显示如图10.1所示的用户自定义函数属性窗口。 (3)在“用户自定义函数属性窗口”的“文本”栏内输入函数内容。 (4)单击“确定”按钮,完成用户自定义函数的创建。 10.2创建用户自定义函数 10.2.2使用Transact-SQL语言创建用户自定义函数 在查询分析器中,创建用户自定义函数是使用CREATE FUNCTION语句来完成的。 1.标量函数 标量函数类似于系统内置函数。函数的输入参数可以是所有标量数据类型,输出参数的类型可以是除了Text、NText、Image、Cursor、Timestamp以外的任何数据类型,函数主体在BEGIN-END块中定义。 10.2创建用户自定义函数 2.内嵌表值函数 内嵌表值函数没有函数体,其返回的表是单个SELECT语句的结果集。由于视图不支持在WHERE子句的搜索条件中使用参数,内嵌表值函数可弥补视图的这一不足之处,即内嵌表值函数可用于实现参数化的视图功能。 3.多语句表值函数 多语句表值函数的函数体在BEGIN-END块中定义。函数体可以包含多条Transact-SQL语句,这些语句可生成行并将行插入将返回的表中。由于视图只能包含单条SELECT语句,而多语句表值函数可包含多条Transact-SQL语句。因此,多语句表值函数的功能比视图更强大。此外,多语句表值函数还可替换返回单个结果集的存储过程。 10.3修改、删除用户自定义函数 1.修改用户自定义函数 使用企业管理器修改用户自定义函数的步骤如下: (1)展开服务器,展开数据库。 (2)单击“用户定义的函数”,在详细列表框中双击需修改用户自定义函数名称,屏幕显示如如图10.1所示的用户自定义函数属性窗口。 (3)在“用户自定义函数属性窗口”的“文本”栏内修改函数内容。 (4) 单击“应用”按钮,再单击“确定”按钮,完成用户自定义函数的修改。 在查询分析器中,修改用户自定义函数使用ALTER FUNCTION语句。 10.3修改、删除用户自定义函数 2.删除用户自定义函数 使用企业管理器删除用户自定义函数的步骤如下: (1)展开服务器,展开数据库。 (2)单击“用户定义的函数”,在详细列表框中右击需修改用户自定义函数名称,在弹出的菜单中选择“删除”命令。 (3)单击“全部移去”按钮,删除用户自定义函数。 在查询分析器中,删除用户自定义函数使用DROP FUNCTION语句。 10.4事务处理 10.4.1事务简介 事务是一个逻辑工作单元,其中包括了一系列的操作,这些操作要么全部执行,要么都不执行。典型的事务实例是两个银行之间的转账,账号A转出1000元至账号B,这笔转账业务可分解为:(1) 账号A减去1000元;(2) 账号B增加1000元。当然,要求这两项操作要么同时成功(转账成功),要么同时失败(转账失败)。只有其中一项操作成功则是不可接受的事情。如果确实发生了只有其中一项操作成功的话,那么应该撤消所做的操作(回滚事务),就好象什么操作都没有发生一样。 事务具有4个属性:原子性、一致性、隔离性、持久性。简称为ACID属性。 · 原子性(Atomicity):事务必须作为工作的最小单位,即原子单位。其所进行的操作要么全部执行,要么都不执行。 ·一致性(Consistency):每个事务必须保证数据的一致性。事务完成后,所有数据必须保持其合法性,即所有数据必须遵守数据库的约束和规则。 10.4事务处理 ·隔离性(Isolation):一个事务所

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档