MSSQL에는 여러 시스템 변수가 있습니다. 이 시스템 변수들은 서버, 세션, 트랜잭션 등과 관련된 정보를 저장하고 제공하는 역할을 합니다.
아래에서 몇 가지 주요한 MSSQL 시스템 변수에 대해 자세히 설명해 드리겠습니다.
1. 시스템변수 정리
@@ROWCOUNT | 직전에 실행된 SQL 문에 의해 영향을 받는 행의 수를 반환하는 변수 |
@@IDENTITY | 자동 증가된 열 (Identity 열)에 대한 마지막으로 삽입된 행의 값을 반환하는 변수 |
@@ERROR | 직전에 실행된 T-SQL 문의 오류 코드를 반환하는 변수 |
@@FETCH_STATUS | CURSOR에서 FETCH 문을 실행한 후의 상태를 반환하는 변수 |
@@VERSION | 현재 MSSQL 서버의 버전 정보를 반환하는 변수 |
@@SERVERNAME | 현재 연결된 서버의 이름을 반환하는 변수 |
@@LANGUAGE | 현재 세션이 사용하는 언어를 반환하는 변수 |
@@SPID | 현재 세션의 고유한 식별자인 세션 ID를 반환하는 변수 |
@@CONNECTIONS | 현재 MSSQL 서버에 대한 활성 연결 수를 반환하는 변수 |
@@CPU_BUSY | 현재 MSSQL 서버의 CPU 사용량을 백분율로 반환하는 변수 |
DATEPART | 시간 요소를 추출니다. |
DATEFROMPARTS | 지정된 연도, 월, 일을 기반으로 날짜를 생성합니다. |
SYSDATETIME | 현재 시스템의 날짜와 시간을 반환합니다. DATETIME2 형식을 사용합니다. |
FORMAT | 날짜와 시간을 원하는 형식으로 출력할 수 있습니다. |
2. 시스템수 정의 및 예제
1. @@ROWCOUNT
- 직전에 실행된 SQL 문에 의해 영향을 받는 행의 수를 반환하는 변수입니다. 주로 데이터 경 문 (INSERT, UPDATE, DELETE)과 함께 사용됩니다.
예를 들어, 아래의 예제에서는 업데이트된 행의 수를 확인합니다.
UPDATE MyTable SET Status = 'Active' WHERE Category = 'A';
SELECT @@ROWCOUNT AS AffectedRows;
2. @@IDENTITY
- @@IDENTITY는 자동 증가된 열 (Identity 열)에 대한 마지막으로 삽입된 행의 값을 반환하는 변수입니다. 이 변수는 INSERT 문이 실행된 후에 사용할 수 있습니다.
INSERT INTO MyTable (Name) VALUES ('John');
SELECT @@IDENTITY AS LastInsertedID;
3. @@ERROR
- @@ERROR는 직전에 실행된 T-SQL 문의 오류 코드를 반환하는 변수입니다. 오류가 발생하지 않으면 0을 반환하고, 오류가 발생하면 오류 코드를 반환합니다.
UPDATE MyTable SET Status = 'Active' WHERE Category = 'A';
IF @@ERROR <> 0
BEGIN
PRINT '오류가 발생했습니다.';
END
4. @@FETCH_STATUS
- @@FETCH_STATUS는 CURSOR에서 FETCH 문을 실행한 후의 상태를 반환하는 변수입니다. FETCH 문은 CURSOR에서 행을 가져오는 데 사용됩니다.
DECLARE @Name VARCHAR(50);
DECLARE myCursor CURSOR FOR SELECT Name FROM MyTable;
OPEN myCursor;
FETCH NEXT FROM myCursor INTO @Name;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @Name;
FETCH NEXT FROM myCursor INTO @Name;
END
CLOSE myCursor;
DEALLOCATE myCursor;
5. @@VERSION
- @@VERSION은 현재 MSSQL 서버의 버전 정보를 반환하는 변수입니다. 이를 통해 현재 사용 중인 MSSQL 버전을 확인할 수 있습니다.
SELECT @@VERSION AS SQLServerVersion;
6. @@SERVERNAME
- @@SERVERNAME은 현재 연결된 서버의 이름을 반환하는 변수입니다.
SELECT @@SERVERNAME AS ServerName;
7. @@LANGUAGE
- @@LANGUAGE는 현재 세션이 사용하는 언어를 반환하는 변수입니다.
SELECT @@LANGUAGE AS SessionLanguage;
8. @@SPID
- @@SPID는 현재 세션의 고유한 식별자인 세션 ID를 반환하는 변수입니다.
SELECT @@SPID AS SessionID;
9. @@CONNECTIONS
- @@CONNECTIONS는 현재 MSSQL 서버에 대한 활성 연결 수를 반환하는 변수입니다. 예를 들어,
SELECT @@CONNECTIONS AS ActiveConnections;
10. @@CPU_BUSY
- @@CPU_BUSY는 현재 MSSQL 서버의 CPU 사용량을 백분율로 반환하는 변수입니다. 예를 들어,
SELECT @@CPU_BUSY AS CPUBusyPercentage;
위의 예제들은 MSSQL 시스템 변수의 추가적인 사용 사례를 보여줍니다. 이러한 시스템 변수들은 서버와 세션의 상태 및 구성 정보를 확인하고 모니터링하는 데 유용합니다.
'IT > MSSQL' 카테고리의 다른 글
MSSQL 무료 라이센스 다운로드 및 설치 - Developer / Express (0) | 2024.03.02 |
---|---|
MSSQL 함수 개요와 활용 - 데이터 관리의 핵심 요소 (0) | 2024.02.25 |
MSSQL 날짜함수 / 시간함수 정의 및 예제 (0) | 2024.02.23 |
MSSQL 개행문자 ENTER 찾기 (0) | 2024.02.22 |
MSSQL 프로시저 PROCEDURE 서식 및 생성 예제 (0) | 2024.02.19 |
댓글