2011-08-31 15 views
6

Na przykład załóżmy, że mam pogląd:Jak znaleźć typy kolumn pochodnych widoku w SQL Server 2005?

CREATE VIEW [dbo].[PaymentSchedule_vw] 
AS 
    SELECT 
     [Order].Id    [Order Id] 
     ,[PaymentSchedule].Date [Payment Date] 
    FROM 
     _Order123 [Order] 
     INNER JOIN 
      _Order123_Shedule [PaymentSchedule] 
      ON 
      [Order].Id = [PaymentSchedule].OrderId 

GO 

Jak mogę odkryć typy [Order Id] i [Payment Date]?

Odpowiedz

7
SELECT c.name, 
     t.name, 
     c.max_length, 
     c.precision, 
     c.scale 
FROM sys.columns c 
     JOIN sys.types t 
     ON t.user_type_id = c.user_type_id 
      AND t.system_type_id = c.system_type_id 
WHERE object_id = OBJECT_ID('PaymentSchedule_vw') 

Albo można użyć SQL_VARIANT_PROPERTY - some examples here.

5
SELECT top 1 
     SQL_VARIANT_PROPERTY([Order Id], 'BaseType') OrderIdBaseType, 
     SQL_VARIANT_PROPERTY([Payment Date], 'BaseType') PaymentDateBaseType 
FROM [PaymentSchedule_vw] 

Należy sprawdzić następujące właściwości:

SQL_VARIANT_PROPERTY(<column>, 'BaseType'), 
SQL_VARIANT_PROPERTY(<column>, 'Precision'), 
SQL_VARIANT_PROPERTY(<column>, 'Scale'), 
SQL_VARIANT_PROPERTY(<column>, 'MaxLength') 

Advanage z użyciem SQL_VARIANT_PROPERTY jest to, że może on być również stosowany na kolumny obliczane i wyrażeń

Powiązane problemy