我想制作一个 SQL 表来跟踪添加/编辑/删除的注释。我希望能够NOTEID
在表格中显示每个人此时的状态,显示所选笔记的更改日志,并能够删除所有标记为给定的笔记NOTEID
。
create table[dbo].[NOTES]{
NOTEID [varchar](128) NOT NULL,
CREATEDBY [varchar](128) NOT NULL, /*is this redundant?*/
TIMECREATED DATE NOT NULL, /*is this redundant?*/
MODIFIEDBY [varchar](128) NOT NULL,
TIMEMODIFIED DATE NOT NULL,
NOTE [VARCHAR}(2000) NULL,
PRIMARY KEY ( /* undecided */ ),
};
制作这张桌子的自然方法是什么?我应该自动生成主 ID 还是应该使用 ( NOTEID
, TIMEMODIFIED
) 作为主键?应该添加什么样的防呆保护?
我希望能够在“笔记历史记录”窗口中显示所有笔记。所以,我应该存储 3 天前创建的笔记,2 天前的笔记和今天修改的笔记。
但是,“Notes”表将显示每个 NOTEID 的最终状态。那是
SELECT NOTE from NOTES where NOTEID = 'selected_note_id' and date = latest