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