78ee000e编程应用 7.1 SQL Server2000 Transact-SQL绽程 72存储过程 73触发器察察 7.4_案例5:健立活期储蓄管理系统 数据库的触发器租存储讨程 察 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 7.1 SQL Server 2000 Transact-SQL编程 7.2 存储过程 7.3 触发器 7.4 案例5:建立活期储蓄管理系统 数据库的触发器和存储过程
78ee000e编程应用 7.1 SQL Server2000 Transact-SQL编程 Transact-SQL语言的主要特点如下 ■是一种交互式查询语言,功能强大,简单易学; 既可以直接査询数据库,也可以嵌入到其它高级语言中执 非过程化程度高,语句的操作执行由系统自动完成; 所有的 Transact-SQL命令都可以在查询分析器中完成 Transact-SQL不仅支持所有的SL语句,而且还提供了丰富的 编程功能,允许使用变量、运算符、函数、流程控制语句等。 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 7.1 SQL Server 2000 Transact-SQL编程 Transact-SQL语言的主要特点如下: ▪ 是一种交互式查询语言,功能强大,简单易学; ▪ 既可以直接查询数据库,也可以嵌入到其它高级语言中执 行; ▪ 非过程化程度高,语句的操作执行由系统自动完成; ▪ 所有的Transact-SQL命令都可以在查询分析器中完成。 Transact-SQL不仅支持所有的SQL语句,而且还提供了丰富的 编程功能,允许使用变量、运算符、函数、流程控制语句等
78ee000e编程应用 7.1.1用户定义的数据类型 SQL Server提供了用户自定义数据类型的功能,用户定义 的数据类型可以实现以下功能 ■可以让不同表中重复出现的各列具有相同的特性,使相似的 数据种类标准化 可以将规则和默认值捆绑到用户定义的数据类型上,以约束 使用此数据类型的每个列。 用户定义的数据类型与系统数据类型一样,都是用来限制 操作者输入数据的种类和长度,它可以用于使用系统数据类型 的任何地方 如果在 model数据库中创建了用户自定义的数据类型,则它 将出现在所有以后新建的数据库中。但是定义在用户数据库中 的用户自定义数据类型,则只会出现在定义它的数据库中。 用户定义的数据类型是与表、视图等并列的数据库对象, 可以对它执行创建、修改、删除等操作, 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 7.1.1 用户定义的数据类型 SQL Server提供了用户自定义数据类型的功能,用户定义 的数据类型可以实现以下功能: ▪ 可以让不同表中重复出现的各列具有相同的特性,使相似的 数据种类标准化。 ▪ 可以将规则和默认值捆绑到用户定义的数据类型上,以约束 使用此数据类型的每个列。 用户定义的数据类型与系统数据类型一样,都是用来限制 操作者输入数据的种类和长度,它可以用于使用系统数据类型 的任何地方。 如果在model数据库中创建了用户自定义的数据类型,则它 将出现在所有以后新建的数据库中。但是定义在用户数据库中 的用户自定义数据类型,则只会出现在定义它的数据库中。 用户定义的数据类型是与表、视图等并列的数据库对象, 可以对它执行创建、修改、删除等操作
78ee000e编程应用 令创建用户自定义数据类型 使用企业管理器创建用户自定义数据类型步骤如下 (1)在企业管理器中展开服务器组、服务器 (2)展开【数据库】,选择要创建用户自定义数据类型的数据库。 右击【用户定义的数据类型】目录,在弹出的快捷菜单中选择 【新建用户定义数据类型】命令 3)打开的新建用户自定义数据类型对话框如图7-1所示。在对话框 的【名称】栏中输入用户自定义数据类型的名称,如 Tel no。 (4)在对话框的【数据类型】下拉列表框中,选择该用户自定义数 据类型所基于的系统数据类型(此例选择 varchar)。 (5)如果选择的基类型是可以设定长度的(如, varchar、char等) 则还须要在【长度】栏中设定数据类型的长度 (6)如果允许为空值,则选中【允许NULL值】复选框。 (⑦)如果希望该数据类型与规则或默认值捆绑,则分别在【规则】 和【默认值】下拉列表框中选择要捆绑的规则和默认值,否则选 择“无”。 (8)单击【确定】按钮,完成。 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 ❖ 创建用户自定义数据类型 ▪ 使用企业管理器创建用户自定义数据类型步骤如下: (1)在企业管理器中展开服务器组、服务器。 (2)展开【数据库】,选择要创建用户自定义数据类型的数据库。 右击【用户定义的数据类型】目录,在弹出的快捷菜单中选择 【新建用户定义数据类型】命令。 (3)打开的新建用户自定义数据类型对话框如图7-1所示。在对话框 的【名称】栏中输入用户自定义数据类型的名称,如Tel_No。 (4)在对话框的【数据类型】下拉列表框中,选择该用户自定义数 据类型所基于的系统数据类型(此例选择varchar)。 (5)如果选择的基类型是可以设定长度的(如,varchar、char等), 则还须要在【长度】栏中设定数据类型的长度。 (6)如果允许为空值,则选中【允许NULL值】复选框。 (7)如果希望该数据类型与规则或默认值捆绑,则分别在【规则】 和【默认值】下拉列表框中选择要捆绑的规则和默认值,否则选 择“无”。 (8)单击【确定】按钮,完成
78ee000e编程应用 用户定义的数据类型属性—(10ca1) 常规 名称N Tel no 数据类型 varchar 长度[ 允许NUL值巴)厂 规则田 〔无〕 默认值[上 〔无 便用应置 确定 取消 帮助 图7-1新建用户自定义数据类型对话框 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 图7-1 新建用户自定义数据类型对话框
78ee000e编程应用 使用T-SL语句创建用户自定义数据类型 通过调用系统存储过程 sp addtype实现,具体语法为: sp addtype typel, system data typel,null type'j 其中: type:为用户定义的数据类型名,这个名称在数据库中必须 是惟一的。 system data_type:为用户定义的数据类型所基于的系统数 据类型,可以包括数据的长度、精度等。当系统数据类型中 包括标点符号(例如括号、逗号)时,应用引号括起来。 null_type:指定该数据类型能否接受空值。其值可以为 NOT NULL’或‘ NO NUL 例如,创建一个如图7-1所示的电话号码数据类型,可使用 如下命令: EXEC sp addtype Tel No,’ varchar(8)’,NULI 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 ▪ 使用T-SQL语句创建用户自定义数据类型 通过调用系统存储过程sp_addtype实现,具体语法为: sp_addtype type[,system data_type][, ‘null_type’] 其中: type:为用户定义的数据类型名,这个名称在数据库中必须 是惟一的。 system data_type:为用户定义的数据类型所基于的系统数 据类型,可以包括数据的长度、精度等。当系统数据类型中 包括标点符号(例如括号、逗号)时,应用引号括起来。 null_type:指定该数据类型能否接受空值。其值可以为 ‘NULL’、 ‘NOT NULL’或‘NO NULL’。 例如,创建一个如图7-1所示的电话号码数据类型,可使用 如下命令: EXEC sp_addtype Tel_No,'varchar(8)','NULL
78ee000e编程应用 令查看用户自定义数据类型 使用査询分析器查看用户自定义数据类型 Tel no,如图7-2所示。 查询一 MYSERVER. MyDb. MYSERVER \ Administrator-D:□回风 sp help tel_ No Tel_No varchar 88 NULL yes none none Chinese_ PRC_ 国格闺消息 批查询完成。 YSERVER.0) MYSERVER \Administrator(52 MyDb0.001行行1,列16 图7-2查看用户自定义数据类型 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 ❖ 查看用户自定义数据类型 使用查询分析器查看用户自定义数据类型Tel_NO,如图7-2所示。 图7-2 查看用户自定义数据类型
78ee000e编程应用 今删除用户自定义数据类型 可以使用T-S哑L语句或企业管理器来删除用户自定义数据类型。 使用T-SQL语句删除 使用系统存储过程 sp droptype来删除用户自定义数据类型。 sp droptype type name 注意:正被表或数据库使用的用户自定义数据类型不能被删除 使用企业管理器删除 使用企业管理器删除用户定义的数据类型的步骤如下: (1)在企业管理器中展开服务器组、服务器。 ()展开【数据库】,选中【用户定义的数据类型】,右边的 窗口中将显示数据库中所有用户自定义数据类型对象,右击要 删除的用户自定义数据类型,在快捷菜单中选择【删除】命令 (3)接着打开如图7-3所示的删除对话框 (4)单击图7-3所示中的【全部除去】按钮。 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 ❖ 删除用户自定义数据类型 可以使用T-SQL语句或企业管理器来删除用户自定义数据类型。 ▪ 使用T-SQL语句删除 使用系统存储过程sp_droptype来删除用户自定义数据类型。 sp_droptype type_name 注意:正被表或数据库使用的用户自定义数据类型不能被删除。 ▪ 使用企业管理器删除 使用企业管理器删除用户定义的数据类型的步骤如下: (1)在企业管理器中展开服务器组、服务器。 (2)展开【数据库】,选中【用户定义的数据类型】,右边的 窗口中将显示数据库中所有用户自定义数据类型对象,右击要 删除的用户自定义数据类型,在快捷菜单中选择【删除】命令。 (3)接着打开如图7—3所示的删除对话框。 (4)单击图7-3所示中的【全部除去】按钮
78ee000e编程应用 除去对象 即将除去下列对象 对象所有者类型 全部除去 取消[ 帮助山H 昱示相关性 图7-3删除用户定义数据类型对话框 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 图7-3 删除用户定义数据类型对话框
78ee000e编程应用 7.12变量 Transact-S哑L中的变量分为局部变量与全局变量 批和脚本 批 个批是由一条或多条T-SQL语句组成的语句集,这些语句 起提交并作为一个组来执行。 SQL Server将批中的语句作为 个整体编译为一个执行计划。因为批中的语句是一起提交给 服务器的,所以可以节省系统开销 在查询分析器中,可以用GO命令标志一个批的结束。G0不 是一个执行语句,是通知查询分析器有多少语句要包含在当前 的批中。查询分析器将两个GO之间的语句组成一个字符串交给 服务器去执行。 2021/1/21
第7章 SQL Server2000 Transact-SQL 编程和应用 2021/1/21 7.1.2变量 Transact-SQL中的变量分为局部变量与全局变量。 ❖ 批和脚本 ▪ 批 一个批是由一条或多条T-SQL语句组成的语句集,这些语句 一起提交并作为一个组来执行。SQL Server将批中的语句作为 一个整体编译为一个执行计划。因为批中的语句是一起提交给 服务器的,所以可以节省系统开销。 在查询分析器中,可以用GO命令标志一个批的结束。GO不 是一个执行语句,是通知查询分析器有多少语句要包含在当前 的批中。查询分析器将两个GO之间的语句组成一个字符串交给 服务器去执行