2015-10-15 180 views
-1

我想将当前登录名插入到SQL Server 2008数据库中。登录名已经在Euser类,如下所示获取当前用户名

enter image description here

而且我想在我的插入脚本,以使用登录名,如图

enter image description here

我会怎么做呢?

+0

让我知道,如果你正在寻找从我结束的更多细节。 – sony921

+2

请将代码直接放入您的问题中,而不是图片。图像难以阅读,无法复制到示例代码中,并可能消失,留下无意义的问题。 – HABO

+0

@HABO我会记住下次谢谢 – sony921

回答

1

使用 CURRENT_USERUSER_NAME()

UPDATE:使用SYSTEM_USER

您可以使用DEFAULT约束SYSTEM_USER功能在 CREATE TABLE和ALTER TABLE语句。您也可以将它用作任何 标准功能。如果用户名和登录名不同,则 SYSTEM_USER返回登录名。如果当前用户使用Windows身份验证登录到SQL Server的 ,则SYSTEM_USER以下列格式返回 Windows登录标识名:DOMAIN \ user_login_name。 但是,如果当前用户使用SQL 服务器身份验证登录到SQL Server,则SYSTEM_USER会返回SQL Server登录名 标识名称,例如对于以 WillisJo身份登录的用户的WillisJo。 SYSTEM_USER返回当前正在执行的 上下文的名称。如果EXECUTE AS语句已用于切换上下文,则 SYSTEM_USER返回模拟的上下文的名称。

所以,这将是您的更新语句:

UPDATE dbo.mfworkorder with (rowlock) SET jobstarted=1, lasteditdt=GETDATE(), lastedited=SYSTEM_USER WHERE [email protected] 
+0

它作为“dbo”而不是登录用户插入数据库..请指教!! @ jalal – sony921

+0

@ sony921我已更新我的答案 – Jalal

+0

system_user给我的数据库用户名。它不给我用户名,我把它放在应用程序中。请咨询 – sony921