문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

SYSTEM_USER(Transact-SQL)

기본값이 지정되지 않은 경우에 현재 로그인에 대해 시스템이 제공한 값을 테이블에 삽입할 수 있도록 허용합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

SYSTEM_USER

CREATE TABLE 및 ALTER TABLE 문에서 SYSTEM_USER 함수를 DEFAULT 제약 조건으로 사용할 수 있습니다. 이 함수를 표준 함수로 사용할 수도 있습니다.

사용자 이름과 로그인 이름이 다르면 SYSTEM_USER가 로그인 이름을 반환합니다.

현재 사용자가 Windows 인증을 사용하여 SQL Server에 로그인하면 SYSTEM_USER가 DOMAIN\user_login_name. 하지만 현재 사용자가 SQL Server 인증을 사용하여 SQL Server에 로그인한 경우에는 SYSTEM_USER가 SQL Server 로그인 ID 이름을 반환합니다. 예를 들어 WillisJo로 로그인한 사용자의 경우에는 WillisJo를 반환합니다.

SYSTEM_USER는 현재 실행 중인 컨텍스트의 이름을 반환합니다. EXECUTE AS 문이 컨텍스트를 전환하는 데 사용된 경우에는 SYSTEM_USER가 가장된 컨텍스트의 이름을 반환합니다.

1.SYSTEM_USER를 사용하여 현재 시스템 사용자 이름 반환

다음 예에서는 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: WillisJo

(1 row(s) affected)

2.DEFAULT 제약 조건으로 SYSTEM_USER 사용

다음 예에서는 SRep_tracking_user 열에 대한 DEFAULT 제약 조건으로 SYSTEM_USER를 사용하는 테이블을 만듭니다.

USE AdventureWorks2012;
GO
CREATE TABLE Sales.Sales_Tracking
(
    Territory_id int IDENTITY(2000, 1) NOT NULL,
    Rep_id  int NOT NULL,
    Last_sale datetime NOT NULL DEFAULT GETDATE(),
    SRep_tracking_user varchar(30) NOT NULL DEFAULT SYSTEM_USER
);
GO
INSERT Sales.Sales_Tracking (Rep_id)
VALUES (151);
INSERT Sales.Sales_Tracking (Rep_id, Last_sale)
VALUES (293, '19980515');
INSERT Sales.Sales_Tracking (Rep_id, Last_sale)
VALUES (27882, '19980620');
INSERT Sales.Sales_Tracking (Rep_id)
VALUES (21392);
INSERT Sales.Sales_Tracking (Rep_id, Last_sale)
VALUES (24283, '19981130');
GO

다음 쿼리는 Sales_Tracking 테이블에서 모든 정보를 선택합니다.

SELECT * FROM Sales_Tracking ORDER BY Rep_id;
GO

결과 집합은 다음과 같습니다.

Territory_id Rep_id Last_sale            SRep_tracking_user

-----------  ------ -------------------- ------------------

2000         151    Mar 4 1998 10:36AM   ArvinDak

2001         293    May 15 1998 12:00AM  ArvinDak

2003         21392  Mar 4 1998 10:36AM   ArvinDak

2004         24283  Nov 3 1998 12:00AM   ArvinDak

2002         27882  Jun 20 1998 12:00AM  ArvinDak

(5 row(s) affected)

커뮤니티 추가 항목

추가
표시: