if exists (select * from sysobjects where id = OBJECT_ID('[CaseEventDetail]') and OBJECTPROPERTY(id, 'IsUserTable') = 1)
DROP TABLE [CaseEventDetail]
GO
CREATE TABLE [dbo].[CaseEventDetail] (
id bigint,
caseEventId bigint NOT NULL,
oldValue nvarchar(256) NULL,
newValue nvarchar(256) NULL,
fieldName nvarchar(25) NOT NULL,
CONSTRAINT FK_CaseEventDetail_CaseEvent FOREIGN KEY (caseEventId) REFERENCES dbo.CaseEvent (id),
CONSTRAINT PK_CaseEventDetail PRIMARY KEY CLUSTERED (id) ON [DATA]
) ON [DATA]
declare @count bigint
select @count = ( select count(id) from CaseEvent)
update uniqueid set [value] = [value] + @count where [id] = 0
declare @id bigint
select @id = (select [value] - @count from [uniqueid] where [id] = 0)
DECLARE @caseEventId bigint, @oldValue varchar(1024), @newValue varchar(1024), @fieldName varchar(25)
DECLARE caseevent_cur CURSOR FOR
SELECT id FROM CaseEvent
OPEN caseevent_cur
FETCH NEXT FROM caseevent_cur INTO @caseEventId
WHILE @@fetch_status = 0
BEGIN
select @oldValue = (select oldValue from CaseEvent where id = @caseEventId)
select @newValue = (select newValue from CaseEvent where id = @caseEventId)
select @fieldName = (select fieldName from CaseEvent where id = @caseEventId)
insert into CaseEventDetail(id,caseEventId,oldValue,newValue,fieldName) values(@id, @caseEventId, @oldValue, @newValue, @fieldName)
set @id = @id+1
FETCH NEXT FROM caseevent_cur INTO @caseEventId
END
DEALLOCATE caseevent_cur
if exists(select * from syscolumns where id = object_id('CaseEvent') and name = 'NewValue')
BEGIN
ALTER TABLE CaseEvent DROP COLUMN NewValue
END
if exists(select * from syscolumns where id = object_id('CaseEvent') and name = 'OldValue')
BEGIN
ALTER TABLE CaseEvent DROP COLUMN OldValue
END
if exists(select * from syscolumns where id = object_id('CaseEvent') and name = 'FieldName')
BEGIN
ALTER TABLE CaseEvent DROP COLUMN FieldName
END