Using and Modifying Instances of User-defined Types
Można pracować z typów zdefiniowanych przez użytkownika w następujący sposób:
Tworzenie tabeli z kolumnami typ zdefiniowany przez użytkownika
Wstawianie i modyfikowanie wartości kolumna typ zdefiniowany przez użytkownika
Przy użyciu typ zdefiniowany przez użytkownika jako zmienna lub parametr
Tworzenie tabel, które z kolumny typ zdefiniowany przez użytkownika
Można utworzyć tabela zawierającej kolumna typ zdefiniowany przez użytkownika, przez podanie nazwy kolumn i odwoływania się do nazwy typu.Jest to podobny sposób, jak utworzyć kolumny, które składają się z typami danych opartych na systemie lub typów alias.Aby utworzyć kolumna na język (CLR) w czasie wykonywania przez użytkownika typu wspólnego, musi mieć uprawnienie materiały referencyjne w typie.
Aby utworzyć tabela z kolumnami typ zdefiniowany przez użytkownika
Wstawianie i modyfikowanie wartości kolumna typ zdefiniowany przez użytkownika
Można wstawiać i modyfikować wartości kolumna i zmieniać wartości zmiennych typ zdefiniowany przez użytkownika i parametry.
Uwaga
Typy zdefiniowane przez użytkownika nie można zmodyfikować po ich utworzeniu, ponieważ zmiany mogą unieważnić danych w tabelach lub indeksy.Aby zmodyfikować typu, należy albo upuszczanie typu i następnie odtworzyć go lub wydać instrukcję SQL ALTER MONTAŻOWYCH przy użyciu klauzula WITH NIEZAZNACZONE dane.Aby uzyskać więcej informacji zobaczALTER ASSEMBLY (Transact-SQL).
Można wstawić lub zmodyfikować wartości dla kolumny typ zdefiniowany przez użytkownika, wykonując następujące czynności:
Podanie wartości w SQL Server Typ danych systemu, tak długo, jak typ zdefiniowany przez użytkownika obsługuje bezpośrednia lub pośrednia konwersję z tego typu. W poniższym przykładzie przedstawiono sposób aktualizacji wartości kolumna typ zdefiniowany przez użytkownika Point Przy wyraźnie konwersja z typu ciąg:
UPDATE Cities SET Location = CONVERT(Point, '12.3:46.2') WHERE Name = 'Anchorage'
metoda, oznaczone jako mutator, z typ zdefiniowany przez użytkownika w celu wykonania aktualizacji.W poniższym przykładzie wywoła metoda mutator typu punkt called SetXY które aktualizacje stanu wystąpienie typu:
UPDATE Cities SET Location.SetXY(23.5, 23.5) WHERE Name = 'Anchorage'
Uwaga
SQL Server Zwraca błąd, jeśli mutator metoda jest wywoływana na Transact-SQL wartość null lub nową wartość wyprodukowane przez mutator metody jest zerowy.
Modyfikowanie wartości właściwość lub publiczne pole Typ zdefiniowany przez użytkownika.Wyrażenie, które podaje wartość musi być niejawnie podlegające konwersji na typ właściwość.W poniższym przykładzie Modyfikuje wartość właściwość X Typ zdefiniowany przez użytkownika punkt:
UPDATE Cities SET Location.X = 23.5 WHERE Name = 'Anchorage'
Aby zmienić inne właściwości tej samej kolumna typ zdefiniowany przez użytkownika, wystawiać wielu instrukcji UPDATE lub wywołaj mutator metoda tego typu.
W poniższym przykładzie wstawia wartości typu Point do tabela:
INSERT INTO Cities (Name, Location)
VALUES ('Anchorage', CONVERT(Point, '23.5, 23.5'))
Aby wstawić wartość typ zdefiniowany przez użytkownika, do tabela lub widoku
Aby zaktualizować wartości typ zdefiniowany przez użytkownika do tabela lub widoku
Przy użyciu typ zdefiniowany przez użytkownika jako zmienna lub parametr
You can declare a Transact-SQL variable, or the parameter of a Transact-SQL or Microsoft .NET Framework function or procedure, to be of a user-defined type.Obowiązują następujące reguły:
Musisz mieć uprawnienie wykonać typu.
Tworząc funkcja, procedura przechowywana lub wyzwalacz, który zawiera deklaracja typ zdefiniowany przez użytkownika z wiązanie schematu, musisz mieć uprawnienie materiały referencyjne w typie.
Jeśli użyta zostanie nazwa jednej części SQL Server będzie sprawdzić typ odwołania w następującej kolejności:
Schemat bieżącego użytkownika w bieżącej bazie danych.
Schemat dbo w bieżącej bazie danych.
System macierzysty-odstęp.
Aby zadeklarować typ zdefiniowany przez użytkownika jako języka Transact-SQL, zmiennej lub parametru funkcja lub procedury
Ograniczenia na korzystanie z typów zdefiniowanych przez użytkownika
Podczas tworzenia i pracy z typów zdefiniowanych przez użytkownika, należy wziąć pod uwagę następujące kwestie:
Nie można zdefiniować długość, skalę, precyzję lub inne metadane, podczas tworzenia typ zdefiniowany przez użytkownika w SQL Server.
kolumna, zmiennej lub parametru nie można zadeklarować się typ zdefiniowany przez użytkownika, który jest zdefiniowany w innej bazie danych.Aby uzyskać więcej informacji zobaczUsing User-defined Types Across Databases.
Można określić, czy typ zdefiniowany przez użytkownika jest taka sama, jak jeden wstępnie zdefiniowana, nie porównać identyfikator typu, ponieważ jest prawidłowe tylko w przypadku obowiązywania typu zdefiniowanego przez użytkownika, mogą być odzyskane.Zamiast tego należy porównać nazwę typu CLR i nazwa wirtualny plik dziennika four-part bajtów wirtualny plik dziennika.
sql_variant kolumny nie może zawierać wystąpienia typ zdefiniowany przez użytkownika.
W przypadku typów zdefiniowanych przez użytkownika nie można użyć jako wartości domyślne w CLR procedury, funkcji lub wyzwalaczy lub w funkcji partycji.
W przypadku typów zdefiniowanych przez użytkownika nie może odwoływać się w kolumnach obliczanych table zmienne.
See Also