我们有一个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
)