アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQL*Plusで作成した1つの×××.sqlファイル複数のSQL文があります。このSQLを1つづつ確認しながら実行
する事が可能でしょうか?
例えば、以下の×××.sqlファイルでselect文とinsert文
の間で確認をしたいのですが.....。
select ename from emp;
insert into (empno) values(10);

よろしくお願いします。

A 回答 (3件)

単に可能か不可能かということであれば,対話型のSQLクライアント(Oracleで何と呼ばれているのかは知りませんが,付属ツールの中に含まれていることは知っています)を使い,別ウィンドウで×××.sqlファイルを見ながら,一行ずつ手入力して実行すればできますが…。



そういうことをお尋ねになっているわけではなく,手入力せずステップ実行するツール等をお探しということでしょうか?
    • good
    • 0
この回答へのお礼

atonさん
せっかくアドバイスを頂いたのですが...。
私の質問が悪かったのです。申し訳ありません。
ありがとうございました。

お礼日時:2003/10/21 22:45

いい解決案かはわかりませんが、


SQL*Plusで実行する時に画面に出力する命令があるので
自分はよく利用しています。

***.sqlファイル内に
DBMS_OUTPUT.PUT_LINE('出力文字列');
を記述して
SET SERVEROUTPUT ON
実行後***.sqlを実行すると指定した文字列が出力されます。
例えば追加する 10 を表示させる場合
select ename from emp;
DBMS_OUTPUT.PUT_LINGE('10');
insert into (empno) values(10);

この回答への補足

tyoufuさん
アドバイスを頂き、ありがとうございます。
実際にSQL*Plusで「SET SERVEROUTPUT ON」と入力して、以下の記述がしてある***.sqlを実行したのですが「不明な..DBMS..無視します。」というエラーが出てしまいます。
select ename from emp;
DBMS_OUTPUT.PUT_LINE('10');
insert into (empno) values(10);
申し訳ありませんが、アドバイスを頂けると助かります。

補足日時:2003/10/21 22:37
    • good
    • 0
この回答へのお礼

いろいろとご丁寧にありがとうございます。
今、ちょっと試す事はできませんが、今度試してみます。
本当にありがとうございました。

お礼日時:2003/10/23 22:48

すみません。


質問をprocedure か function だと思ってたのでアドバイスさせてもらったのですが、
直接実行するSQL文のみのファイルだったんですね。

では、次の方法で出力するのもありかと思います。
1.
 select ename from emp;
 select 10 as cd from dual;
 insert into (empno) values(10);
 結果は
 ename
 --------

 CD
 --------
    10
 1行追加されました

2.
 variable cd number
 select ename from emp;
 execute :cd := 10;
 print cd;
 insert into (empno) values(10);
 結果は
 ename
 --------

 PL/SQLプロシージャが正常に完了しました。
 CD
 --------
    10
 1行追加されました

もっといい方法があるかもしれませんが、自分はこれしか思いつきませんでした。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!