Oracleの勉強しているとプロシージャを利用してのOracle管理が目立ってきたので真面目に勉強始めました。
(データブロックの破損とか統計収集とかね)
入門サイト的なのがないので辛い。。。
とりあえず、Oracle公式サイトからOracle ClientをダウンロードしてSQL Developerを使えるようにしました。
(Oracle DBは別のパソコンなのでClientも欲しかった)
SQL Developerでの実行方法はわかったけど、
SQL*Plusだと標準出力されなくて悩んだのでメモ。
「set serveroutput on」コマンドがないと標準出力されないみたい。
パターン1
SQL> set serveroutput on
SQL> declare
2 a number(1);
3 begin
4 a := 2;
5 pro_test(1,a);
6 dbms_output.put_line(a);
7 end;
8 /
pro_testプロシージャは第1引数がINで、第2引数がIN OUT。
パターン2
SQL> set serveroutput on
SQL> var a number
SQL> execute :a := 1
PL/SQLプロシージャが正常に完了しました。SQL> execute pro_test(1,:a);
PL/SQLプロシージャが正常に完了しました。SQL> print a
a
-
- -
1