SQL Server - 在列中显示用户名

标签 sql sql-server

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

相关文章:

sql - 仅选择组中所有元素都具有相同值的组

mysql - 健康 mysql 表的行数限制

sql - sys.objects 中的 CreateDate 和 ModifyDate 究竟是什么

java - JDBC PreparedStatement,如何选择和插入?

SQL 合并 2 个表和数据透视表

MySQL根据列值生成随机数

sql - 如何用单引号包裹我的查询输出

sql-server - ADO.NET 与 SSMS 中的 SQL Server 性能对比

sql - 使用 HAVING 子句计算 SQL 查询的结果

python - Flask SQLAlchemy 查询连接