Я пытаюсь запустить хранимую процедуру, которая принимает строку с возвратом каретки в качестве аргумента в сеансе SQL Developer.В частности, сама строка является оператором SQL, который извлекается процедурой, обрабатывается и сохраняется в таблице.
Проблема состоит в том, чтобы найти способ сохранить читаемое форматирование операторов, т. Е. Текста с несколькими строками /возврат каретки.Самое близкое, что я получил, это следующее:
1) Создайте новую таблицу для хранения операторов SQL:
CREATE TABLE sql_table
(
id NUMBER,
sql_string CLOB
);
2) Создайте хранимую процедуру:
CREATE OR REPLACE PROCEDURE
update_sql(var_id NUMBER, var_sql_string IN CLOB) IS
BEGIN
INSERT INTO sql_table (id, sql_string) VALUES (var_id, var_sql_string);
--do other stuff
END; /
3) Запустите следующую команду, чтобы добавить в таблицу новую строку с оператором sql:
EXEC update_sql(127,'&input');
4) В командной строке введите оператор из нескольких строк, например:
SELECT *
FROM any_table
WHERE a = b;
5) Затем запросите sql_table, скопируйте и вставьте содержимое столбца sql_string в текстовый редактор - возврат каретки теперь отсутствует:
SELECT * FROM any_table WHERE a=b;
Как уже упоминалось, я хотел бы сохранить кареткувозвращается, так что операторы хорошо отображаются при извлечении из таблицы.
Любая помощь приветствуется.
Спасибо,
Денис