Korzystanie z funkcje systemowe
funkcje systemowe umożliwiają uzyskanie dostępu do informacji z SQL Server tabele systemowe, bez uzyskiwania dostępu do tabel systemowych bezpośrednio.
Nazwy niektórych Transact-SQL funkcje systemowe rozpoczyna się od dwóch na znaki (@@). Chociaż w starszych wersjach SQL Server funkcje @@ są określane jako zmienne globalne, nie są zmienne oraz nie mają takie samo zachowanie jako zmienne. @@ Funkcje są to funkcje systemowe, a ich użycie składni następują reguły dla funkcji.
Każdy z następujące pary funkcje systemowe dla baz danych, hosty, obiekty, logowania i użytkownicy zwraca nazwę, gdy podany identyfikator (ID) i zwraca identyfikator podczas nadawana nazwa:
DB_ID i DB_NAME
HOST_ID i HOST_NAME
OBJECT_ID i OBJECT_NAME
SUSER_ID i SUSER_NAME (lub SUSER_SID i SUSER_SNAME)
USER_ID i USER_NAME
Na przykład, aby uzyskać numer identyfikatora bazy danych, funkcja DB_ID zamiast wykonywania SELECT z sysobjects tabela.
W poniższym przykładzie pokazano, jak pobrać nazwy użytkownika dla bieżącego użytkownika, który jest zalogowany przy użyciu SQL Server Uwierzytelnianie:
SELECT SUSER_NAME();
Następujące funkcje są podobne, ale nie występują one w parach uzupełniające i one mieć więcej niż jeden parametr wejściowy:
COL_LENGTH
Zwraca długość kolumna, ale nie długość wszystkie poszczególne ciągi przechowywane kolumna.Aby określić całkowitą liczbę znaków w określonej wartości, należy użyć funkcja DŁUGOŚĆ_DANYCH.
W poniższym przykładzie są zwracane długości kolumna i długości danych LastName kolumna w Employees Tabela:
SELECT COL_LENGTH('Employees', 'LastName') AS Col_Length, DATALENGTH(LastName) AS DataLength FROM Employees WHERE EmployeeID > 6;
COL_NAME
Zwraca nazwę kolumna.
INDEX_COL
Zwraca wartość z nazwą kolumna indeksu.
Zaleca się, że korzystania z funkcje systemowe, informacje o schemacie widoki, lub w systemie przechowywanych procedur w celu uzyskania informacji o systemie bez bezpośrednio podczas badania tabele systemowe.Tabele systemowe mogą zmieniać się znacznie między wersjami SQL Server.
See Also