审计表和会议

时间:2015-03-17 10:07:59

标签: sql sql-server tsql

我有几个问题或疑问。 1.如果有的话,我想选择在当前会话中输入的条目。

例子。

insert into tablename (columns)
values (values)

然后选择登录后输入的条目。

我尝试过使用sysprocesses,但是它给了我用户输入的所有内容,但包含了很多会话,所以我只想要当前的会话 我有一张桌子及其审核表。

IF OBJECT_ID ('tbl_sessions_shadow','U') IS NOT NULL
DROP TABLE tbl_sessions_shadow
GO


CREATE TABLE tbl_sessions_shadow
(
[RecID] INT IDENTITY(1,1) NOT NULL,
Ptid CHAR(9)NOT NULL,
Session_Code VARCHAR(4) NOT NULL ,
Schedule_Date DATE NOT NULL,
FinalOutcome VARCHAR(25),
entered_by VARCHAR(25) NOT NULL DEFAULT (system_user),
date_entered DATETIME NOT NULL DEFAULT GETDATE(),
edited_by VARCHAR(25) NOT NULL DEFAULT (system_user),
edit_date DATETIME NOT NULL DEFAULT GETDATE(),
edit_reason VARCHAR (25) NOT NULL,
PRIMARY KEY (PTID,SESSION_CODE,SCHEDULE_dATE,EDIT_REASON),
--CHECK ( LEN(edit_reason)> 2),
CHECK (LEN(PTID)=9)

)
在我的前端

我可以选择编辑原因,即初始输入和更正。 要求是我应该在第一次编辑记录时进行“更正”,并且不应允许“编辑原因”列的第2,第3,......编辑的“初始输入”。 我试过这个:

IF (SELECT * 
FROM TBL_SESSIONS_SHADOW 
WHERE PTID=@PTID AND SESSION_CODE=@SESSION_cODE) IS NULL AND @EDIT_REASON = 'CORRECTION'
BEGIN 
RAISERROR('ERROR',16,1)
GOTO ABORT
END

0 个答案:

没有答案