我们有一个 SQL Server 2012 数据库,有 4 个开发人员使用,我们称他们为 user1、user2、user3、user4。
我想在其中一个表中创建一列,我们将其称为 User_Input 列,该列需要显示插入任何数据的开发人员的用户名,这可能吗?例如,如果 user2 插入了一条新记录,则 User_Input 列应显示 user2。
如果 SQL Server 不支持该功能,请告诉我,如果有任何其他解决方案,因为我搜索了 SQL Server 的 @@ 函数,但似乎没有一个获得用户名。
最佳答案
SYSTEM_USER函数将返回用户的登录名。
您可以使用以下语句进行测试: 选择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
)
关于SQL Server - 在列中显示用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255825/