默认登录到SQL Server列的用户
如何使用当时在表中创建行的用户的默认值创建列?
我尝试了system_user
,但从表中选择时会显示登录人员。
解决方案
尝试如下:
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()
)。
相关文章