レコードを一時テーブルに挿入し、レコードを選択して返す SP があります。SQLはこれです。
INSERT INTO ステートメントを削除し、SQL を最小化してトラブルシューティングを行いました。犯人は SELECT * FROM #Worklist1 です。なぜこれが機能しないのかわかりません。Pervasive サーバー バージョン 10 の最新バージョンにアップグレードしましたが、これで問題が解決する場合がありますが、この問題は 10.3 にあり、まだ残っています。何かが欠けているに違いない。
CREATE PROCEDURE "Connect_Workflow"(
:StartDate DATETIME, :EndDate DATETIME)
RETURNS(Patient varchar(100) ,
AccessionNo varchar(25)
);
BEGIN
CREATE TABLE #WorkFlow1
(Patient varchar(100) null,
AccessionNo varchar(25) null
);
INSERT INTO #Workflow1(
SELECT
rtrim(p.LastName),--+ '^' + rtrim(p.FirstName) + isnull('^' + rtrim(p.Initial), ''),
v.VisitID -- equiv to EncounterID
FROM visit v
join patient p on v.patientnumber = p.patientnumber
WHERE v.VisitYY = '99'
);
SELECT * FROM #WorkFlow1;
DROP TABLE #Workflow1;
END
更新: SELECT * FROM #Worklist1; をコメントアウトした後。それでも無効なテーブルエラーが発生します。INSERT INTO と SELECT * を削除すると、最終的にエラーはなくなります。テーブルの参照にエラーがあるはずです。