• 締切済み

SQLデバッガソフトってありますか?

オラクルのORA-00904: 列名が無効です。 というエラーが表示されますが、他人の作った ものすごい長いSQLで どこが悪いのか見当もつきません。 オラクルに限らず、SQLの何行目のこの辺が おかしい等の 妥当性をプログラムのエラーのように チェックするソフトはありますでしょうか?

みんなの回答

回答No.2

>妥当性をプログラムのエラーのように >チェックするソフトはありますでしょうか? http://www.allroundautomations.com/plsqldev.html ↓日本語版はこちら http://www2.noritz.co.jp/anchor/ http://www.hi-ho.ne.jp/a_ogawa/osqledit/index.htm http://www.sint.co.jp/siob/default.asp

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

PL/SQLでしたら、SQL*Plusにて該当のSQLを実行し、エラーの後で、 Show Error とすれば、問題の行の行番号と桁番号が表示されます。 んで、その行番号を再度入力すれば、問題の行を表示させることが出来ます。 PL/SQLのデバッガも幾つかありますよ。 ステップ単位で実行できる奴とか… 「PL/SQL デバッガ」ってなキーワードでググれば、きっと出てくるはずです。私はそういうのは使ってないんで、どれがいいとかはお答えできないんですが… 通常のSQLであれば、同じく、SQL*Plusから実行すれば、エラー箇所まで表示してくれたと思うのですが…

matchori
質問者

お礼

SQLPLUSで何行目と表示されました。ありがとうございます。 オラクルは便利なんですね。ステップ単位実行まであるなんて。

関連するQ&A

  • PL/SQLでPLS-00201のエラー

    初めて質問させていただきます。 よろしくお願いいたします。 Oracle 9i から 11g へバージョンアップしました。 9iでは動いていたPL/SQLコマンドが11gでは 以下のようなエラーが大量に発生します A_FLG Aシノニム名.列名%type ,      * 行16でエラーが発生しました ORA-00201:行16、列13: PLS-00201:識別子(シノニム名).(列名)を宣言してください。 PROCEDURE D_FLG_UPD ( a in varchar2 ) is type D_TYPE is record ( J シノニム名.列名.列名%type ,    ここでエラー   → A_FLG Aシノニム名.列名%type , B_FLG Bシノニム名.列名%type , C_FLG Cシノニム名.列名%type ); G H; begin これはどういった場合に発生するエラーなのでしょうか? またOracleのバージョンによってPL/SQLのコマンドが動かなくなったりすることは よくあることなのでしょうか? よろしくお願いいたします。

  • JAVAに書くSQL文について教えてください

    Oracle内のデータを更新しようとしていますが ORA-00904というエラーが表示されます。 調べていると列名は「”」で囲ってはいけないと 書かれていたので、それでいろいろ試行錯誤してみたのですが エラーがなくなりません。 「SYAIN1」と「SYAIN2」は変数になっています。 このSQL文が機能するように、アドバイス頂けるとうれしいです。 int row_count = smt.executeUpdate(Update SYAIN_MASTER set SYAIN_NAME = SYAIN2 where SYAIN_ID SYAIN1);

    • ベストアンサー
    • Java
  • SQL*PLUSで列幅変更したい。

    こんにちわ。 いまORACLE9iを使用している者です。 SQL*PLUSで, つぎのようなSELECT文を発行しました。 「SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE」 「HOGEKBN」は1桁のデータなので, 実行結果に列名である"ほげほげ区分"が表示されません。 これを表示したいと思い, 「 SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE COLUMN ほげほげ区分 FORMAT A20 」 としたところ, COLUMN~の行で, "ORA-00933: SQLコマンドが正しく終了されていません。" というエラーメッセージが出てしまいます。 SQL*PLUSで列幅指定するにはどうすれば良いでしょうか? 教えてください。よろしくお願いします。

  • オラクル(PL/SQL)のエラー

    いつもお世話になります。 オラクル・バージョン8.1.5を使用しています。 PL/SQLを実行すると以下のエラーが発生します。色々調べたのですが、解決しません。 なぜでしょうか?(ロジックがここでは書けないので、エラーのみ記載致します) ORA-06550:行1、列19:*PLS-00103: Encountered the symbol "." when expecting one of the following・・()-+mod この後ろは読めませんでした。 また、PL/SQLを実行したりするには、ただ単にオラクルをインストールしただけでは駄目なのでしょうか? よろしくお願い致します。

  • SQL実行エラー

    VBでオラクルを使ったアプリケーションをテストしているのですが、 次のようなエラーが出てとまってしまいます。 SQL実行エラー ORA-01801  日付形式が内部バッファに対して長すぎます。 原因はいったい何なのでしょうか? 知っている方がいらしたら教えてください。 宜しくお願いいたします。

  • Oracleのビュー作成時に「指定した列名の個数が無効です」エラー

    初歩的な質問かと思いますが、宜しくお願い致します。 Oracle10gでViewを作成する際に、以下のようなSQLを発行しています。 SELECT 列名1 FROM テーブル名1 この際、スケール(小数点)ありの列名を指定すると 「指定した列名の個数が無効です」というエラーが表示されてしまうのですが、エラー原因がわかりません。 (スケールなしの列名は問題なし) お手数ですが、ご教示いただけませんでしょうか。

  • SQL文の書き方教えてください。

    Oracle9i使用しています。 列名SURYOの値が0以上なら「+」以下なら「-」と結果に表示したいのですがどうすればいいのですか? 初心者なんで知ってる関数が少ないので知りうる関数で思いついたのはこれぐらいでした… DECODE(SURYO>0,'-','+') しかしだめでした。 SQLサーバーでいうIIF関数みたいなのってないのですか? よろしくお願いします。

  • Oracleのエクスポートでエラー

    Oracle9iでデータベース全体のエクスポートを取ろうとすると 以下のエラーが出てしまいます . クラスタ定義をエクスポート中 EXP-00056: Oracleエラー19206が発生しました。 ORA-19206: 問合せの値またはREF CURSORパラメータが無効です ORA-06512: "SYS.DBMS_XMLGEN", 行83 ORA-06512: "SYS.DBMS_METADATA", 行345 ORA-06512: "SYS.DBMS_METADATA", 行410 ORA-06512: "SYS.DBMS_METADATA", 行449 ORA-06512: "SYS.DBMS_METADATA", 行1156 ORA-06512: "SYS.DBMS_METADATA", 行1141 ORA-06512: 行1 EXP-00000: エラーが発生したためエクスポートを終了します。 見てみるとSYS.DBMS_XMLGENというテーブルは存在していませんでした。 どうすればデータベースのエクスポートが出来るでしょうか? 教えてください。

  • PL/SQLって?

    今日からPL/SQLの本を読み始めたド素人です。。。 ありえない質問かもしれませんがどなたか助けてください! 今SQL*Plusに参考本の通り以下のコードを記述したところ エラーが発生してしまいました。 通常のSQL文とは違い普通にSQL*Plus上にコーディングするだけでは うまく機能しないのですか? それとも何か設定が必要だったりするのでしょうか? 参考本には特にそのような記述もなくサイトなどから調べても 自分ひとりではどうも解決できません。 ご協力よろしくお願いします! SQL> PROCEDURE PROC_A( 2 a IN NUMBER 3 b IN NUMBER, 4 c OUT NUMBER) 5 /  ↓  エラー内容  ↓ PROCEDURE PROC_A( * 行1でエラーが発生しました。: ORA-00900: SQL文が無効です。

  • exp / imp について質問

    Oracle 8.1.7.0 にあるデータを【exp】にてダンプし そのデータを、 Oracle 8.1.7.4 に【imp】しました。 imp自体はエラーも出ず、正常に終了し、通常に使用できますが、そのデータを、【exp】しようとコマンドを実行しましたら、 EXP-00008: Oracleエラー 904が発生しました。 ORA-00904: 列名が無効です。 EXP-00000: エラーが発生したためエクスポートを終了します。 と、エラーが出て、 expが行えません。 8.1.7.0で expすれば良いとは思いますが、 8.1.7.4で expする方法がありましたら教えて頂きたいです。