У меня есть задача «Выполнение SQL» (SQL 2008), где я использую две переменные SSIS для взаимодействия с базой данных Oracle:
DECLARE ParamTest number; TempOutputRun varchar(255);
ParamTest := ?;
TempOutputRun := ?;
BEGIN
IF ParamTest = 0 THEN
SELECT CAST(OUTPUT_RUN_ID AS VARCHAR(15)) AS OUTPUT_RUN_ID FROM GL_EXTRACT_STATUS WHERE STATUS='NEW' ORDER BY OUTPUT_RUN_ID ASC;
ELSE
SELECT TempOutputRun AS OUTPUT_RUN_ID FROM DUAL;
END IF
;
END;
Я получаю ошибку ORA-01008 при выполнении, и я не знаю, почему. Обе переменные имеют значения и имеют правильные типы данных с именами параметров при отображении 0 и 1 соответственно. ELSE часть этого утверждения должна быть отключена текущими условиями, в которых я тестирую.
У кого-нибудь есть идеи? Я в замешательстве (и совершенно разочарован, если честно).
Спасибо!
Valkyrie