Как получить пользователя, который удалил запись? - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь создать таблицу истории, в которой хранятся удаленные записи, а также пользователь, который удалил запись. Я знаю, как хранить записи, но не пользователь.

Определение таблицы выглядит так:

CREATE TABLE HistoryComics(
    Id           INT IDENTITY PRIMARY KEY,
    ComicId       INT,
    Title         NVARCHAR(50),
    Author        NVARCHAR(50),
    [Description]     TEXT,
    Issue         INT,
    Publisher     VARCHAR(20),
    CoverPage     VARBINARY(MAX),
    DateDeleted   DATETIME DEFAULT SYSDATETIME(),
    DeletedBy     VARCHAR(20)
);

Я видел примеры того, как сделать это с MySQL, но не с T-SQL

1 Ответ

0 голосов
/ 05 июня 2019

Вы должны использовать CURRENT_USER / SUSER_SNAME (SQL Server 2008+).

Безопасно добавить значение по умолчанию для вашего столбца DeletedBy.

Однако будьте осторожны, оба возвращают sysname, что означает nvarchar (128).

Кроме того, это означает, что вам следует увеличить определение таблицы.

Хорошей отправной точкой по теме «Как захватить удаленные записи» является моя статья, опубликованная на

SQL Server Central.

Как захватывать удаленные записи

Дополнительная информация о USER_NAME (Transact-SQL) и SUSER_SNAME (Transact-SQL)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...