(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren

TYPE_NAME (Transact-SQL)

Gibt den nicht qualifizierten Typnamen einer angegebenen Typ-ID zurück.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


TYPE_NAME ( type_id ) 

type_id

Die ID des Typs, der verwendet wird. type_id ist vom Datentyp int und kann auf einen Typ in jedem beliebigen Schema verweisen, für das der Aufrufer über eine Zugriffsberechtigung verfügt.

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.

In SQL Server kann ein Benutzer nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde.Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. TYPE_NAME, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten und unter Behandlung von Problemen bei der Sichtbarkeit von Metadaten.

TYPE_NAME gibt NULL zurück, wenn type_id ungültig ist oder wenn der Aufrufer nicht über die erforderlichen Berechtigungen zum Verweisen auf den Typ verfügt.

TYPE_NAME funktioniert sowohl für Systemdatentypen als auch für benutzerdefinierte Datentypen. Der Typ kann in einem beliebigen Schema enthalten sein, aber ein nicht qualifizierter Typname wird immer zurückgegeben. Dies bedeutet, dass der Name nicht das schema.-Präfix enthält.

Systemfunktionen können in der SELECT-Liste, in einer WHERE-Klausel und überall dort verwendet werden, wo ein Ausdruck zulässig ist. Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL) und WHERE (Transact-SQL).

Im folgenden Beispiel werden der Objektname, der Spaltenname und der Typname für jede Spalte in der Vendor-Tabelle der AdventureWorks-Datenbank zurückgegeben.

USE AdventureWorks;
GO
SELECT o.name AS obj_name, c.name AS col_name,
       TYPE_NAME(c.user_type_id) AS type_name
FROM sys.objects AS o 
JOIN sys.columns AS c  ON o.object_id = c.object_id
WHERE o.name = 'Vendor'
ORDER BY col_name;
GO

Dies ist das Resultset.

obj_name  col_name                 type_name
--------- -----------------------  -------------------
Vendor    AccountNumber            AccountNumber
Vendor    ActiveFlag               Flag
Vendor    CreditRating             tinyint
Vendor    ModifiedDate             datetime
Vendor    Name                     Name
Vendor    PreferredVendorStatus    Flag
Vendor    PurchasingWebServiceURL  nvarchar
Vendor    VendorID                 int
(8 row(s) affected)

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft