SYSTEM_USER SYSTEM_USER - 北京怡康軟件科技有限公司 資源網(wǎng) "/>
當未指定默認值時,允許將系統(tǒng)為當前系統(tǒng)用戶名提供的值插入表中。
SYSTEM_USER
在 CREATE TABLE 或 ALTER TABLE 語句中將 SYSTEM_USER niladic 函數(shù)用在 DEFAULT 約束中,或作為任何標準函數(shù)使用。
如果當前用戶使用 Windows 身份驗證登錄到 Microsoft® SQL Server™,SYSTEM_USER 將返回 Windows 2000 或 Windows NT 4.0 登錄標識名稱,例如"DOMAIN\user_login_name"。然而,如果當前用戶使用 SQL Server 身份驗證登錄到 SQL Server,SYSTEM_USER 將返回 SQL Server 登錄標識名稱,例如,當用戶以 sa 登錄時將返回 sa。
本示例聲明一個 char 變量,將 SYSTEM_USER 的當前值置于該變量中,然后打印該變量。
DECLARE @sys_usr char(30)
SET @sys_usr = SYSTEM_USER
SELECT 'The current system user is: '+ @sys_usr
GO
下面是結果集:
----------------------------------------------------------
The current system user is: sa
(1 row(s) affected)
本示例創(chuàng)建一個表,將 SYSTEM_USER 用作病人數(shù)據(jù)行中 receptionist 列的 DEFAULT 約束。
USE pubs
GO
CREATE TABLE appointments2
(
patient_id int IDENTITY(2000, 1) NOT NULL,
doctor_id int NOT NULL,
appt_date datetime NOT NULL DEFAULT GETDATE(),
receptionist varchar(30) NOT NULL DEFAULT SYSTEM_USER
)
GO
INSERT appointments2 (doctor_id)
VALUES (151)
INSERT appointments2 (doctor_id, appt_date)
VALUES (293, '5/15/98')
INSERT appointments2 (doctor_id, appt_date)
VALUES (27882, '6/20/98')
INSERT appointments2 (doctor_id)
VALUES (21392)
INSERT appointments2 (doctor_id, appt_date)
VALUES (24283, '11/03/98')
GO
下面是選擇 appointments2 表中所有信息的查詢:
SELECT *
FROM appointments2
ORDER BY doctor_id
GO
下面是結果集:
patient_id doctor_id appt_date receptionist
----------- ----------- ------------------------ ---------------
2000 151 Mar 4 1998 10:36AM sa
2001 293 May 15 1998 12:00AM sa
2003 21392 Mar 4 1998 10:36AM sa
2004 24283 Nov 3 1998 12:00AM sa
2002 27882 Jun 20 1998 12:00AM sa
(5 row(s) affected)
相關文章