2011-09-22 3 views
0

SQL +에서 데이터베이스 사용자에게 저장 프로 시저의 이름을 입력하라는 메시지를 표시 한 다음 해당 저장 프로 시저의 코드가 표시 될 스크립트를 작성해야합니다.Oracle SQL 입력 문제

accept spinput prompt “Enter Stored Procedure Name:” 

그럼 내가 저장 프로 시저의 이름을 입력 할 수 있습니다

이 나에게 메시지를 줄 것이다.

그런 다음이 코드를 실행하면 저장 프로 시저 코드가 표시됩니다.

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

입력을 묻고 나머지는 실행하는 스크립트에 어떻게 모든 것을 결합합니까? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

감사합니다.

답변

0

아마 내가 누락되었지만 거의 없습니까? 당신은 단지 prc.sql, 말에서 일부 서식 명령과 함께 하나 개의 파일로 두 문장을 결합 할 수 없습니다

sqlplus -s user/pw @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 

그런 다음 다음 실행 화면에.

대부분의 시간 저장 프로 시저 이름은 대문자이므로 데이터베이스에서 사용자 입력을 대문자로 변환하기 위해 쿼리를 약간 수정했습니다. 즉, 사용자는 대소 문자를 구분하지 않고 텍스트를 입력 할 수 있으며 절차가 검색됩니다.

+0

나는 내 질문을 게시 한 후 1 시간 정도 그것을 알아 냈습니다. 내가 게시 한 것과 비슷한 파일을 만들었지 만 입력 한 마지막 입력 내용을 기억하고있었습니다. 스크립트에 버퍼를 추가했는데 모두 잘되었습니다. 답장을 보내 주셔서 감사합니다! – Christopher