PLSQL procedure 작성시 select 결과를 SQL 구문의 select 결과와 동일하게 표현 할 수 있도록 할수 없나요? 0 4 5,464

by Ryan [PL/SQL] plsql select [2020.12.07 10:39:29]


안녕하세요. 초보 개발자 인사 드립니다. 

 

현재 SQL DEVELOPER 무료 버젼을 사용중인데요,

PLSQL PROCEDURE 의 SELECT 구문 결과를

일반 SQL SELECT 문의 결과 처럼 엑셀로 EXPORT 할수 있는 방법이 있을까요?

 

매번 조회 조건 변수 바꾼후 전체 쿼리 드래그 해서 실행할려니

번거롭네요 ;;

 

좋은 방법이 있으시면 조언 부탁 드립니다. ^^ 

 

감사합니다.

 

 

by 마농 [2020.12.07 11:16:51]

커서 형태의 변수에 결과를 담아 리턴하는 방법이 있긴 합니다.
다만, 특정 형태의 개발 목적이 아닌, 단순 번거로움 때문이라면?
그냥 쿼리 수행 하는게 훨씬 더 편할 것 같습니다.
1. 조건 변경은 -> 바인드 변수 이용하시면 될 것 같습니다.
2. 쿼리 드래그는 -> F9 나 Ctrl+Enter 이용하시면 드래그 안해도 됩니다.
  - 쿼리 끝에 세미콜론(;) 꼭 찍어주세요.

SELECT *
  FROM emp
 WHERE dpetno = :v_deptno
   AND sal >= :v_sal
;

 


by Ryan [2020.12.07 13:54:35]

답변 감사합니다 !! 

정말 큰 도움이 되었습니다 .ㅜㅜ

한가지 더 여쭐께요...

커서에 담은 후 출력시에 엑셀 워크시트로 EXPORT 할 수 있는건지요?

DBMS_OUTPUT.PUT_LINE() 사용하면 메세지 형태로 출력이 되어서 엑셀 EXPORT 기능을 사용할 수 없는걸로 알고 있습니다.

 


by 마농 [2020.12.07 15:45:54]
-- CURSOR 출력용 프로시져 샘플
CREATE OR REPLACE PROCEDURE p_test
( p_deptno emp.deptno%TYPE
, p_cursor OUT SYS_REFCURSOR
)
IS
BEGIN 
  OPEN p_cursor FOR SELECT * FROM emp WHERE deptno = p_deptno;
END;
/

실행 및 확인 방법
-- 1. 좌측 네비게이션 메뉴에서 해당 프로시저 선택
-- 2. 선택된 프로시저 우측 상단 실행버튼(녹색 화살표 ▶) 클릭
-- 3. 실행 팝업 창에서 입력 매개변수 값 입력(p_deptno = 10)
-- 4. 확인 버튼 클릭
-- 5. 우측 하단 출력변수 텝 선택하여 결과 확인
-- 6. 전체선택(Ctrl+A) > 복사(Ctrl+C) > 엑셀붙여넣기(Ctrl+V)


by Ryan [2020.12.07 16:55:59]

상세한 설명 감사합니다. ㅜㅜ

제 눈높이에 딱이에요 ㅋ

 

그런데요...

전체선택 복사가 안되고 한행만 복사가 되네요 ㅠㅠ

무료버전이라 그런가ㅠㅠㅠ

 

 

 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입