簡體   English   中英

如何從查詢結果中獲取列定義

[英]How to get column definition from query result

我需要一種從查詢結果中獲取列定義的方法。 現在,我正在使用SQL Server 2012。

這是示例場景,我有兩個表,分別是Event和Attendant,其定義如下:

CREATE TABLE [dbo].[Event] (
    [Id]       INT           NOT NULL,
    [Name]      NVARCHAR (50) NULL,
    [Description]       NVARCHAR (50) NULL,
    [StartDate]       DATETIME      NULL,
    [EndDate] DATETIME      NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

    CREATE TABLE [dbo].[Attendant] (
    [Id]       INT           NOT NULL,
    [EventId] INT NOT NULL,
    [Name]      NVARCHAR (50) NULL,
    [Company]       NVARCHAR (50) NULL
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

然后我有查詢,如:

SELECT Event.Name as EventName, Attendant.Name as GuestName
FROM Event
   INNER JOIN Attendant ON Event.Id = Attendant.EventId

如何獲得以上示例查詢結果的列定義? 我的目標是使用c#生成poco類來表示任何查詢結果的每個記錄。

您可以使用sp_columns sproc檢索有關指定表的列定義的信息...像這樣:

exec sp_columns Attendant

使用sp_columns ,它返回指定對象(表)的列信息。

有關詳細信息,請參考此鏈接

select * from information_schema.columns where table_name = '<tablename>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM