搜索
首页 电脑/网络 软件 系统软件

如何用触发器生成数据库表的数据?

如何用触发器生成数据库表的数据?

全部回答

2017-07-26

51 0
    操作步骤首先让我们在Northwind数据库内创建一个简单表。create table tablefortrigger( track int identity(1,1) primary key, Lastname varchar(25), Firstname varchar(25) ) 创建好这个数据表后,添加一个标准message到master数据库的sysmessages数据表中。
    注意,我所添加的是一个参变量,用以接受一个字符值,它将被输出显示给管理员们。通过设置@_with_log参数为true,我们包管相关结果被发送到事件日志。sp_addmessage 50005, 10, '%s', @with_log = true 现在我们创建这条用有意义的信息填充的消息。
    下面的信息将填充这条消息,并且记录到文件中: ·操作的类型(插入)。 ·受到影响的数据表。 ·改动的日期与时间。 被该语句插入的全部字段。 下面的这个触发器用预定义值(1~3个字符)创建一个字符串,该预定义值位于inserted数据表中。
  (这个inserted数据表驻留在内存中,它容纳被插入到触发器所在数据表的记录行)。  触发器连接这些值并放到一个@msg变量。然后这个变量被传送到raiserror函数,该函数将它写到事件日志中。
  Create trigger TestTrigger on tablefortrigger for insert as--声明储存消息的变量 Declare @Msg varchar(8000) --将"操作/表名/日期时间/插入字段"赋与消息set @Msg = 'Inserted | tablefortrigger | ' + convert(varchar(20), getdate()) + ' | ' +(select convert(varchar (5), track) + ', ' + lastname + ', ' + firstname from inserted) --产生错误发送给事件查看器。
    raiserror( 50005, 10, 1, @Msg) 运行以下语句对触发器进行测试,然后查看事件日志:Insert into tablefortrigger(lastname, firstname) Values('Doe', 'John') 如果你打开事件日志,你应该看到以下消息:oracle。
    chinaitlab。com/UploadFiles_7269/200612/20061204110802457。JPG" border=1 twffan="done">。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报