Funkcje zdefiniowane przez użytkownika w AdventureWorks
The AdventureWorks sample OLTP database includes several Transact-SQL user-defined functions.Przykłady typowych funkcji języka (CLR) w czasie wykonywania przez użytkownika są dostępne w Przykłady programowania do środowiska CLR.
Środowisko CLR funkcje zdefiniowane przez użytkownika
Poniższa lista zawiera przykłady funkcja zdefiniowanej przez użytkownika CLR, które są dostępne.Aby uzyskać więcej informacji na temat środowiska CLR funkcji zdefiniowanych przez użytkownika Zobacz Środowisko CLR funkcje zdefiniowane przez użytkownika.
Przykład |
Description |
---|---|
Pokazuje wykonania 5 Transact-SQL Funkcje tekstowe, które zawierają ten sam ciąg modyfikować funkcje jak wbudowany z nich, lecz dodatkowe dodatkowych znaków obsługują możliwość obsługiwać standardu Unicode i ciągi znaków dodatkowych. Pięć funkcje są len_s() left_s(), right_s(), sub_s() i replace_s().Są to równoważną wartości funkcji wbudowanych ciąg LEN() LEFT(), RIGHT(), SUBSTRING() i REPLACE(). |
|
Zawiera kilka funkcji proste, które wykazują różnych funkcji dostawca SQLCLR danych w procesie dostępu. |
|
Zawiera funkcja konwersji waluty zwracającą wystąpienie typu waluty zdefiniowanych przez użytkownika. |
|
Zawiera funkcje do wirtualny plik dziennika metadane w celu udostępnienia Transact-SQL; Przykładowe funkcje przesyłania strumieniowego wycenione tabeli zwrócić typów w zestawie jako tabela; a także funkcje do zwracania pól, metod i właściwości w typ zdefiniowany przez użytkownika. Pokazuje technologii, takich jak strumieniowe przesyłanie danych wartości tabela funkcji, systemu Microsoft .NET Framework odbicia interfejsów API i wywołania funkcji wycenione tabela Transact-SQL. |
Funkcje zdefiniowane przez użytkownika języka Transact-SQL
Następujące tabela list Transact-SQL Funkcje zdefiniowane przez użytkownika, które są uwzględnione w AdventureWorks Przykładowa baza danych OLTP. Aby uzyskać więcej informacji na temat Transact-SQL Funkcje zdefiniowane przez użytkownika, zobacz Opis funkcji zdefiniowanej przez użytkownika.
funkcja zdefiniowanej przez użytkownika |
Description |
Parametry wejściowe |
Zwracanie wartości |
---|---|---|---|
ufnLeadingZeros |
wartość skalarna funkcji, która dodaje zera prowadzące do wartości określonej liczby całkowitej.Funkcja zwraca varchar(8) Typ danych. |
@valueint |
@ReturnValuevarchar(8) |
ufnGetContactInformation |
Ułatwia użytkownikowi dostępu do danych zawierający złożoną kwerendę w funkcja zwracająca tabelę. |
@contactidint |
ContactIDint, FirstNamenvarchar(50), LastNamenvarchar(50), JobTitle nvarchar(50), ContactType nvarchar(50) |
ufnGetProductDealerPrice |
Funkcja skalarna obliczania ceny dostawcą konkretnego produktu na podstawie listy ceny produktu w określonym dniu. |
@productIDint, @orderdate datetime |
@DealerPricemoney |
Przykłady
A.Za pomocą dbo.ufnLeadingZeros
W poniższym przykładzie użyto ufnLeadingZeros Funkcja generowania numer konta odbiorcy na podstawie istniejącej CustomerID kolumna w Customer Tabela.
USE AdventureWorks;
GO
SELECT CustomerID,('AW' + dbo.ufnLeadingZeros(CustomerID))
AS GenerateAccountNumber
FROM Sales.Customer
ORDER BY CustomerID;
GO
B.Za pomocą dbo.ufnGetContactInformation
The AdventureWorks database contains the names of employees, customers (store representatives or individual consumers), and vendor representatives in one tabela, the Contact tabela.Funkcja wycenione tabela ufnGetContactInformation, zwraca jeden wiersz dla określonej ContactID.
USE AdventureWorks;
GO
SELECT ContactID, FirstName, LastName, JobTitle, ContactType
FROM dbo.ufnGetContactInformation(2200);
GO
SELECT ContactID, FirstName, LastName, JobTitle, ContactType
FROM dbo.ufnGetContactInformation(5);
GO
C.Za pomocą dbo.ufnGetProductDealerPrice
W poniższym przykładzie użyto ufnGetProductDealerPrice funkcja zwracająca ceny dealerów zdyskontowanego papieru dla wszystkich produktów w ProductListPriceHistory Tabela.
USE AdventureWorks;
GO
SELECT ProductID, ListPrice, dbo.ufnGetProductDealerPrice(ProductID, StartDate) AS DealerPrice,
StartDate, EndDate
FROM Production.ProductListPriceHistory
WHERE ListPrice > .0000
ORDER BY ProductID, StartDate;