在标题中很难说出这个问题。假设您有一个名为 Users 的表,假设它有一个名为“Id”的身份/主键列。假设您想在同一个事务中获取您所知道的只是一个属于相当特定的 WHERE 子句或其他内容的 Id 实例,然后在一个非常冗长的 SELECT 语句中重复回收它,然后立即执行。这可以在 SQL Server 中完成吗?基本上我要避免的是如下内容:
Dim id As Int32 = DBA.OneTimeQuery("SELECT Id FROM users <where clause>").Rows(0)(0)
Return DBA.OneTimeQuery("SELECT <a lot of different things, involving multiple sub
-selects that have to pull from the variable id>")
'DBA.OneTimeQuery returns a DataTable
我知道我可以通过回收第一个 where 子句来避免使用两个不同的连接或其他任何东西,但是即使是相同的连接和事务不断重新查找相同的确切信息也是非常浪费的。
我想避免让 Sql Server 多次从 Id 列中搜索该单个值,并且我还希望能够将它放在同一个 Sql 事务和连接中。如何才能做到这一点?谢谢!