DataBase/Oracle
[oracle] 오라클에서 System.out.print()?! 프린트 하는 법
희랍인 조르바
2018. 9. 4. 20:17
프로시저를 만들 일이 거의 없어서 지식이 깊지 않다. 그래서 난 프로시저에서 print를 할 수 있다는 것도!!
try, catch문처럼 exception처리가 가능하다는 것도 모르고 있었다!!!
'오늘도 한 수 배워갑니다.'
모르고 있었던 개념이라 프로시저에서 값을 찍어 볼 수 있다는 것에 대해 굉장히! 놀랐다. 바보같은 모자란 나...
function이나 procedure에서 값을 찍으려면 아래와 같이 사용하면 된다.
먼저, SQL창에서 옵션을 켠다.
1 | SET SERVEROUTPUT ON FORMAT WRAP -- 프린트를 찍기 위해 옵션 온 | cs |
다음 function 안에서 어떻게 선언해야 보이냐하면,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CREATE OR REPLACE FUNCTION MAKE_CHOCOLATE( something.. )RETURN VARCHAR2 IS BRAND_NAME VARCHAR2(32); BEGIN function logic... DBMS_OUTPUT.PUT_LINE(BRAND_NAME); DBMS_OUTPUT.PUT_LINE('로직 타고 있니?'); RETURN BRAND_NAME; END; | cs |
DBMS_OUTPUT.PUT_LINE( '프린트할 내용')을 입력하고,
SQL창에서 function이나 procedure를 script로 실행하면 script에 프린트할 내용이 로그에 찍힌다.
* 변수와 문자열을 함께 출력하려면 문자열을 합치는 연산자(||)를 사용하면 된다.
ex)
1 | DBMS_OUTPUT.PUT_LINE('로직 타고 있니? 그리고 변수 값은? ' || BRAND_NAME); | cs |