У меня есть SP, который вставляет записи во временную таблицу, затем выбирает записи и возвращает их. SQL это.
Я устранил неполадку, удалив оператор INSERT INTO и минимизировав SQL. Виновником является SELECT * FROM #Worklist1. Не знаю, почему это не работает. Я обновился (только сейчас) до последней версии Pervasive server ver 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 *, то, наконец, ошибка исчезнет. Должна быть ошибка в ссылке на таблицу.