默认登录用户到 SQL Server 列
Posted
技术标签:
【中文标题】默认登录用户到 SQL Server 列【英文标题】:Default logged in user to SQL Server column 【发布时间】:2013-11-16 09:04:07 【问题描述】:如何在表中创建具有当时创建行的用户的默认值的列?
我试过system_user
,但从表格中选择时显示谁已登录。
【问题讨论】:
【参考方案1】:试试这样的:
CREATE TABLE DemoTable
(
ID INT IDENTITY(1,1),
SomeValue VARCHAR(50),
CreatedBy VARCHAR(50)
CONSTRAINT DF_DemoTable_CreatedBy DEFAULT(SUSER_NAME())
)
您基本上是在其中一个列上创建一个默认约束,然后使用SUSER_NAME()
函数将当前登录的用户填充到其中。
当您随后将值插入该表时:
INSERT INTO dbo.DemoTable(SomeValue) VALUES('Some Value')
而您不为CreatedBy
指定显式值,该列将填充来自SUSER_NAME()
函数的值,您可以通过从表中选择来检查:
SELECT * FROM dbo.DemoTable
Read more about SUSER_NAME()
and a few related functions(如 SUSER_ID()
)在 TechNet 上。
【讨论】:
谢谢,成功了!问题是,我使用了计算值功能......问题,有没有办法限制用户手动添加到“CreatedBy”......以上是关于默认登录用户到 SQL Server 列的主要内容,如果未能解决你的问题,请参考以下文章
“无法打开用户默认数据库。登录失败。”安装 SQL Server Management Studio Express 后
在sql server 2000上用sa登录sql查询分析器的时候报错:无法打开用户默认数据库