我正在从ADO.NET访问存储过程。 存储过程最终应返回单个结果集。
要计算此结果,将使用SELECT INTO语句填充临时表。
问题是SELECT INTO语句的结果也作为结果集返回给.NET。
这可以被抑制吗?或者我应该不使用SELECT INTO,而是使用CREATE TABLE后跟INSERT语句?
答案 0 :(得分:2)
我建议避免使用SELECT INTO,因为它会推断你的列名/类型,如果你的源查询在任何方面都很复杂(例如CASE语句),这会产生意想不到的结果。
如果需要保持所描述的值,我总是创建表变量或临时表。
如果您使用CREATE TABLE #TableName()(或DECLARE @tableName TABLE())然后使用INSERT,那么您将无法获得返回的额外结果集。