Sql server 默认登录用户到SQL Server列

Sql server 默认登录用户到SQL Server列,sql-server,default,Sql Server,Default,如何使用在表中创建行的用户的默认值创建列 我尝试了system\u user,但从表中选择时会显示谁已登录。尝试以下操作: CREATE TABLE DemoTable ( ID INT IDENTITY(1,1), SomeValue VARCHAR(50), CreatedBy VARCHAR(50) CONSTRAINT DF_DemoTable_CreatedBy DEFAULT(SUSER_NAME()) ) 基本上,您可以在一个列上创

如何使用在表中创建行的用户的默认值创建列


我尝试了
system\u user
,但从表中选择时会显示谁已登录。

尝试以下操作:

CREATE TABLE DemoTable
(
    ID INT IDENTITY(1,1), 
    SomeValue VARCHAR(50), 
    CreatedBy VARCHAR(50) 
        CONSTRAINT DF_DemoTable_CreatedBy DEFAULT(SUSER_NAME())
) 
基本上,您可以在一个列上创建一个默认约束,然后使用
SUSER\u NAME()
函数将当前登录的用户填充到该列中

然后在该表中插入值时:

INSERT INTO dbo.DemoTable(SomeValue) VALUES('Some Value')
如果不指定
CreatedBy
的显式值,则该列将填充
SUSER\u NAME()
函数中的值,您可以通过从表中选择来检查:

SELECT * FROM dbo.DemoTable

(比如TechNet上的
SUSER\u ID()
)。

Thx,就是这样!问题是,我使用了计算值功能。。。。问题,是否有办法限制用户手动将添加到“CreatedBy”中。。。。