Пользовательский ввод и сохранение таблиц в Interactive SQL Java - PullRequest
0 голосов
/ 28 января 2012

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

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

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

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

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

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

1 Ответ

0 голосов
/ 28 января 2012

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();

Понятия не имею, что вы имеете в виду под " сохранением таблиц в " и как это относится к вашему вопросу.

...