繁体   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