Пользовательский ввод и сохранение таблиц в Interactive SQL Java

Мне нужна помощь по двум вопросам:

1) Получение пользовательского ввода для определенных переменных, которые я могу позже заменить в коде.

define var = 12345
select * from table where var2 = &var .

Но, видимо, определение не работает в Interactive SQL. Я тоже пробовал без определения, чтобы переменная могла быть принята пользователем в качестве входных данных (я читал некоторые веб-сайты в Google, которые предлагали то же самое)

Люди со знанием SAS и SQL, по сути, есть эквивалент макропеременной в интерактивном sql.

2) Я пишу длинный код SQL и пытаюсь исправить ошибки с помощью интерактивного SQL. Я знаю, как сохранять таблицы, используя «в» в SQL. Но после пакетной отправки эти таблицы недоступны для повторного использования. Есть ли способ хранить таблицы, чтобы мне не приходилось снова и снова запускать полный код при устранении неполадок.


person Shreyansh    schedule 27.01.2012    source источник


Ответы (1)


Синтаксис define и &var — это команды SQL*Plus, а не обычные команды SQL.

В Java вы можете использовать PreparedStatement для указания заполнителей в вашем SQL:

PreparedStatement stmt = connection.prepareStatement("select * from table where var2 = ?");
stmt.setInt(1, 12345);
ResultSet rs = stmt.executeQuery();

Я понятия не имею, что вы имеете в виду под «сохранение таблиц с использованием в» и как это связано с вашим вопросом.

person a_horse_with_no_name    schedule 28.01.2012