Jas*_*yne 1 c# sql temp-tables
我有一个C#应用程序,使用ADO.Net连接到MSSQL
我需要创建表(具有动态列数),然后插入许多记录,然后从表中选择退出.
每个步骤必须是一个单独的C#调用,尽管我可以在一段时间内保持连接/事务处于打开状态.
小智 6
问题是#Temp 表仅存在于连接和执行范围内。当从 C# 到 SQL 的第一次调用完成时,控制传递到更高级别的范围。
这就像您有一个调用两个存储过程的 T-SQL 脚本一样。每个 SP 都创建了一个名为 #MyTable 的表。第二个 SP 引用的表与第一个 SP 完全不同。
但是,如果父 T-SQL 代码创建了该表,则两个 SP 都可以看到它,但他们不能互相看到。
这里的解决方案是使用##Temp 表。它们跨越范围和联系。但危险在于,如果您使用硬编码名称,那么同时运行的程序的两个实例可能会看到同一个表。因此,动态地将表名设置为始终唯一的名称。
| 归档时间: |
|
| 查看次数: |
8077 次 |
| 最近记录: |