sql2005常用存储过程、索引器与触发器31.pptVIP

  • 1
  • 0
  • 约1.16万字
  • 约 33页
  • 2017-06-11 发布于四川
  • 举报

sql2005常用存储过程、索引器与触发器31.ppt

例9-13 修改触发器。 程序清单如下: CREATE TRIGGER s_reminder ON S WITH ENCRYPTION AFTER INSERT, UPDATE AS RAISERROR (不能对该表执行添加、更新操作, 16, 10) ROLLBACK GO -- 下面修改触发器. ALTER TRIGGER s_reminder ON S AFTER INSERT AS RAISERROR (不能对该表执行添加操作, 16, 10) ROLLBACK GO 2.使用sp_rename命令修改触发器的名称。 sp_rename命令的语法形式如下:   sp_rename oldname,newname 由于某种原因,需要从表中删除触发器或者需要使用新的触发器,这就必须首先删除旧的触发器。只有触发器所有者才有权删除触发器。删除已创建的触发器有三种方法: (1)使用系统命令DROP TRIGGER删除指定的触发器。其语法形式如下:    DROP TRIGGER { trigger } [ ,...n ] (2)删除触发器所在的表。删除表时,SQL Server将会自动删除与该表相关的触发器。 (3)在SQL Server管理平台中,展开指定的服务器和数据库,选择并展开指定的表,右击要删除的触发器,从弹出的快捷菜单中选择“删除”选项,即可删除该触发器。 触发器是在对表进行插入、更新或删除操作时自动执行的存储过程,触发器通常用于强制业务规则 触发器还是一个特殊的事务单元,当出现错误时,可以执行ROLLBACK TRANSACTION回滚撤销操作 触发器一般都需要使用临时表:deleted表和inserted表,它们存放了被删除或插入的记录行副本 触发器类型: INSERT触发器 UPDATE触发器 DELETE触发器 我们在项目开发中有一些常用的存储过程 大批量数据的插入 分页 在项目的开发中,有时会碰到批量数据录入数据库的情况,编写多条插入语句效率太低 Create procedure SplitString ( ?@string nvarchar(1000),??-- 要分隔的字符串 ?@splitchar nvarchar(10) = ,,?-- 分隔字符 ?@tablename nvarchar(50),??-- 存入的表名称 ?@fieldname nvarchar(50) = [id]?-- 存入的字段名称 ) as?-- 将字符串分隔开放进表中?declare @l int?-- 第一个分隔字符的位置 declare @s int?-- 第二个分隔字符的位置 set @l = 0 set @s = charindex(@splitchar, @string, @l)?while @l = len(@string) begin ?declare @id nvarchar(50)???if @s = 0 set @s = len(@string) + 1?-- 如果到最后一个字符串那么第二个分隔字符的位置就是这个字符串的长度加一 ? ?set @id = substring(@string, @l, @s - @l)?-- 取值 ?set @l = @s + 1 ?set @s = charindex(@splitchar, @string, @l)??if ltrim(rtrim(@id)) = continue?-- 如果是空字符串就跳过??declare @sql nvarchar(1000) ?set @sql = insert into + @tablename + (+ @fieldname +) values( + @id + ) ?exec sp_executesql @sql end go 示例数据库: NorthWind 涉及表: Orders OrderDetails 分隔字符串存储过程 CutString create proc CutString (@sourcestring varchar(100) output, @outstring varchar(10) output) as declare @position int set @position = charindex(,,@sourcestring) if (@position = 0) begin set @outstring = @sourcestring set @sourcestring = null end else

文档评论(0)

1亿VIP精品文档

相关文档