【发布时间】:2014-08-01 06:26:09
【问题描述】:
我正在做一个项目,在我的项目中,我陷入了一个需要维护错误日志的场景。我创建了一个error log 表,其中列名Error Message。我想在该列中插入错误消息。例如,我正在使用标识列,现在如果有人在不使用“设置标识开”的情况下插入该标识列的值,则会显示一条错误消息,例如“无法插入显式值当 IDENTITY_INSERT 设置为 OFF 时,表 'example' 中的标识列。”我希望该错误消息记录在我的表中。
表结构
create table example
(
id int identity(1,1),
code int not null,
startdate date not null,
enddate date null,
CONSTRAINT [PK_example] PRIMARY KEY CLUSTERED
(
[id] ASC
),
constraint uc_combination UNIQUE(code,startdate,enddate)
)on [primary]
错误日志表
Create table errorlog
(
errorid int identity (1,1),
Errordate datetime,
ErrorMessage Nvarchar(255)
) on [primary]
在列错误消息中的 Errorlog 表中,我想显示在示例表中插入记录时发生的那些错误消息。
我应该如何做到这一点。
您的帮助将不胜感激。
谢谢
【问题讨论】:
-
请发布您正在使用的表的结构,以及您用于执行插入的命令。顺便说一句,我质疑您为什么要设置错误 log 表的标识值。
-
嗨,Brendan,这只是一个例子。我想在不允许插入记录的表中插入所有这些错误消息。
-
对——不管是不是例子,我们可能需要看看你的表结构是什么,以便我们提供帮助。为什么你的表不允许你插入?
-
我添加了两个表示例和错误日志的表结构。如果唯一约束是紫罗兰色,则应将错误消息插入错误日志表的 errormessage 列中
标签: sql-server insert-update error-logging