我想从我的程序中构建的数据表创建一个新的SQL表。我只是想将整个表复制到MSSQL。从我的研究中我发现了似乎是答案:
作为旁注,在SQL 2008中有一种非常简单的方法可以从客户端定义的Datatable创建表:将DataTable作为Table值参数传递,然后发出SELECT * INTO FROM @tvp,这将有效将Datatable及其内容数据的定义传输到SQL中的实际表中。
(Remus Rusan在此问题下发表---从C#datatable创建SQL Server表)
我无法弄清楚如何在没有表定义的情况下在SQL Server中定义表值参数。所有文档都显示了使用列定义定义@tvp
,这当然会违背SELECT * INTO
的目的。除非我完全遗漏了某些内容,否则如果没有@tvp
的SQL服务器端声明和调用SQL语句的短sp,则无法执行上述操作。