SQL Server – 在列中显示用户名

我们有一个4个开发人员使用的SQL Server 2012数据库,我们可以调用它们,user1,user2,user3,user4.

我想在其中一个表中创建一个列,让我们调用User_Input列,这个列需要显示插入任何数据的开发人员的用户名,这可能吗?例如,如果user2插入了新记录,则User_Input列应显示user2.

如果SQL Server不支持,请告诉我,如果有任何其他解决方案,我会搜索SQL Server的@@ functions,而不是它们似乎获取用户名.

最佳答案
SYSTEM_USER函数将返回用户的登录名.

您可以使用以下语句对其进行测试:
    SELECT SYSTEM_USER

MSDN documentation for SYSTEM_USER指出:

You can use the SYSTEM_USER function with DEFAULT constraints in the
CREATE TABLE and ALTER TABLE statements. You can also use it as any
standard function.

下面是一个快速示例,说明如何使用DEFAULT约束创建一个将SYSTEM_USER插入User_Input列的表.

CREATE TABLE MyTable 
(
   ID int, 
   Value varchar(30), 
   User_Input varchar(200) DEFAULT SYSTEM_USER
)   
点赞