現在、(潜在的に)大きなデータセットを返すストアドプロシージャがあります。このデータは再帰呼び出しからのものであるため、次のようになります。
With Hierarchy as(
SELECT distID as D, [Name] as N, enrolling as E, parent_code as P,
FROM sales_reps
WHERE enrolling = @dist_ID
UNION ALL
SELECT
t.distID as D, t.[Name] as N, t.enrolling as E, t.parent_code as P
FROM sales_reps t
INNER JOIN Hierarchy h ON t.enrolling = h.D
)
SELECT *, CASE WHEN P > 5 Then 1 Else 0 END As Q
From Hierarchy
さて、それは大したことではないので、問題は、このデータをもっと多く使用する必要があり、これに対して数分間複数のクエリを実行することです。したがって、計画では、(現在の機能を壊さないために)このデータを使用してテーブルを作成し、後で削除することもあります。
私は次のようなことを試みています:
CASE @temp_Table
WHEN IS NULL
Select * FROM retTable
ELSE
SELECT INTO @temp_Table
* FROM retTable
End
しかし、結果にretTableという名前を付けたり、caseステートメントのように名前を付けたりすることはできません。これはcaseステートメントの適切な使用法ではないと思いますが、他に何を使用すればよいかわかりません。