在列中显示用户名
我们有一个由4位开发人员使用的SQL Server 2012数据库,让我们称它们为user1,user2,user3,user4。
我想在其中一个表中创建一个列让我们调用列User_Input,这个列需要显示插入任何数据的开发者的用户名,这可能吗? 例如,如果user2插入新记录,则User_Input列应该显示user2。
请让我知道,如果SQL Server不支持,并且如果有任何其他解决方案,我搜索@@函数为SQL Server和非他们似乎得到用户名。
SYSTEM_USER函数将返回用户的登录名。
您可以使用以下语句对其进行测试:SELECT SYSTEM_USER
SYSTEM_USER的MSDN文档声明:
您可以在CREATE TABLE和ALTER TABLE语句中使用带有DEFAULT约束的SYSTEM_USER函数。 您也可以将其用作任何标准功能。
以下是如何使用DEFAULT约束创建一个将SYSTEM_USER
插入User_Input列的表的简单示例。
CREATE TABLE MyTable
(
ID int,
Value varchar(30),
User_Input varchar(200) DEFAULT SYSTEM_USER
)
我相信这就是你要找的。
SELECT SYSTEM_USER
您可以根据需要添加此插入/更新。
CURRENT_USER
提供模式,而不是与事务关联的登录。
上一篇: Display the username in a column
下一篇: How do I get the peak hours from my mysql database table "userlog"