表变量中的表数据类型

时间:2013-08-30 11:02:48

标签: sql-server tsql

是否可以在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));

1 个答案:

答案 0 :(得分: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

这可以帮助你实现你想要的......