update Calls
set
Call_Closed = GETDATE()
where CallId = 4266576;
呼び出しという名前のテーブルがあります。このテーブルの列を更新しようとすると、エラーがスローされます。サーバーに「sa」アカウントでログインしましたが、これは管理者アカウントです。上記の列の datetype は日時です。また、テーブル内の列を更新すると、以下のエラーがスローされます。
エラーの詳細
*String or binary data would be truncated.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
The statement has been terminated.*
テーブルのトリガー
CREATE TRIGGER tgrMonitorDoneWho ON Calls
FOR INSERT,UPDATE
AS
begin
DECLARE @ExecStr varchar(50), @Qry nvarchar(255)
CREATE TABLE #inputbuffer
(
EventType nvarchar(30),
Parameters int,
EventInfo nvarchar(255)
)
SET @ExecStr = 'DBCC INPUTBUFFER(' + STR(@@SPID) + ')'
INSERT INTO #inputbuffer
EXEC (@ExecStr)
SET @Qry = (SELECT EventInfo FROM #inputbuffer)
INSERT INTO tblDoneWhoMonitor(CallId,DoneWho,Operation,Query)
SELECT case
when inserted.CallId is null then deleted.CallId
when deleted.CallId is null then inserted.CallId
else deleted.CallId end,
case
when inserted.CallId is null then deleted.DoneWho
when deleted.CallId is null then inserted.DoneWho
else deleted.DoneWho end,
case
when inserted.CallId is null then 'DELETE'
when deleted.CallId is null then 'INSERT'
else 'UPDATE' end,
@Qry
FROM inserted
FULL OUTER JOIN deleted
ON inserted.CallId = deleted.CallId
end