2

関数に 3 つの個別のテーブル変数があります。そのうちの 1 つはエラーを発生させません。他の 2 つは、それらの間で構文的に異なるものは何も見つかりませんでしたが、もっとカフェインが必要かもしれません。

私が受け取っているエラーは

スカラー変数「@DispoTable」を宣言する必要があります。

DECLARE @CIDdisp INT

DECLARE @DispoTable TABLE 
(
    CaseID INT,
    Code INT,
    Description VARCHAR(150)
)
--Gather Data From filter
SELECT @CIDdisp = CaseID, @Code = Code, @Description = Description
FROM fnRecidFilter3(@CaseID,01,01)
-- Insert into Temp table
INSERT INTO @DispoTable (CaseID, Code, Description)
VALUES (@CIDdisp, @Code, @Description)
-- Merge the Temp Table with RecidReport Table
INSERT INTO RecidReport(Code, Description)
SELECT Code, Description 
FROM @DispoTable
WHERE (@DispoTable.CaseID) = CaseID

私が欠けているものはありますか?

4

1 に答える 1

4

あなたは言うことができません:

WHERE (@DispoTable.CaseID) = CaseID

代わりに、エイリアスを使用する必要があります。

FROM @DispoTable AS d
WHERE d.CaseID = CaseID

しかし、この条項はとにかく意味がありません。ここで変数を使用するつもりでしたか? 多分:

FROM @DispoTable AS d
WHERE d.CaseID = @CIDdisp

?

于 2012-07-03T15:41:00.390 に答える