2

是否可以在 SQL Server 的表变量中将列数据类型定义为表?就像我试过这段代码

Declare @master table(
  idx int identity(1,1),
  ID int,
  Title nvarchar(250),
  IntegratedAccounts table(
                           AccountID int,
                           AccountTitle nvarchar(250)
                          )
) 

我想从我的表变量中检索一个结果集,以在 c# 中填充 DataTable,其结构为:

var dt = new DataTable();
  dt.Columns.Add("idx", typeof(int));
  dt.Columns.Add("ID", typeof(int));
  dt.Columns.Add("Title", typeof(string));
  dt.Columns.Add("IntegratedAccounts", typeof(DataTable));
4

1 回答 1

2

答案是否定的,你不能在 SQL 中。就那么简单 :)

但是,您可以在外键的帮助下关联表以实现相同的结果

所以要实现

 table( (idx int identity(1,1), ID int, Title nvarchar(250), IntegratedAccounts table( AccountID int, AccountTitle nvarchar(250) ) ) 

你可以做2张桌子

table (idx int identity(1,1), ID int, Title nvarchar(250), account_id)

table2(AccountID int, AccountTitle nvarchar(250) )

并拥有你的table.account_id references to table2.AccountID

这可能会帮助你实现你想要的..

于 2013-08-30T11:09:35.313 回答