При выполнении процедуры Sybase из JDB C, я получаю сообщение об ошибке ниже:
Объявлен курсор выполнения для процедуры, которая содержит условие SELECT или SELECT с предложением COMPUTE. для того чтобы объявление этого курсора было допустимым, оно должно иметь один оператор выбора без условия вычисления
Я использую JCONN4 sybase jar. Есть ли у sybase такие ограничения на процедуру, чтобы не было оператора select с предложением compute?
Также я искал в документации Sybase, но не смог получить правильный ответ.
http://infocenter.sybase.com/help/index.jsp?topic= / com .sybase.39996_1250 / html / svrtsg / svrtsg348.htm
Я не могу опубликовать процедуру здесь, но я могу опубликовать образец
create proc sample (@value_date datetime = null) as
begin
if @value_date is null
select @value_date = some_column from some_table
select a,b,c,d into #ad
from
table_a where a='something'
select a,b,c,d case when a=0 then 0 else b/a
from #ad
end
Вышеупомянутая процедура вызывается с использованием sybStatemt Функция .executeQuery
Похоже, это ошибка Sybase. шаги по воспроизведению проблемы
Создайте процедуру, используя select с предложением compute, как описано выше
напишите программу jdb c и используйте belew method Statement.setFetchSize (1000);
Запустите программу, и вы увидите ошибку
Теперь вопрос в том, действительно ли Sybase имеет эти какие-то ограничения или это указывается c только для их драйвера, и мы можем сказать, что проблема с драйвером?