Oracle SQL Input Issue - PullRequest
       3

Oracle SQL Input Issue

0 голосов
/ 23 сентября 2011

Мне нужно написать скрипт, который будет предлагать пользователю базы данных в SQL + ввести имя хранимой процедуры, а затем отобразится код этой хранимой процедуры.

Это даст мне приглашение:

accept spinput prompt “Enter Stored Procedure Name:”

Затем я смогу ввести имя хранимой процедуры.

Затем, если я запущу этот код, код хранимой процедуры будет

select text from user_source
where type = 'PROCEDURE'
and name = ‘&spinput’;

Как мне объединить все это в скрипт, который просто запрашивает ввод и выполняет остальное?Каков наилучший способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 23 сентября 2011

Возможно, я что-то упускаю, но разве вы не почти там?Разве вы не можете просто объединить ваши два оператора в один файл вместе с некоторыми командами форматирования, например, prc.sql:

set feedback off
set heading off
set verify off
accept spinput prompt "Enter Stored Procedure Name:"
select text from user_source
where type = 'PROCEDURE'
and name = UPPER('&spinput');
exit

Затем выполнить следующее:

sqlplus -s user/pw @prc.sql

Ваша процедуратекст будет выведен на экран.

Я немного изменил ваш запрос, чтобы перевести пользовательский ввод в верхний регистр, так как большая часть времени имен хранимых процедур будет в верхнем регистре в базе данных.Это означает, что пользователь может вводить текст независимо от регистра, и процедура будет найдена.

...