SQLPlusでミスをするたびに情報を再入力する必要がありますか


11

「挿入」コマンドの入力中にSQLPlusでミスをした場合、この情報を元に戻して編集する方法はありますか?


コマンドラインで次のように入力する必要があります。

@ user16063 ---そして、それは何をしますか?もう少し詳しく説明してもらえますか?
jcolebrand

@ user16063私はこれが誤解だと確信しています。バンビはトランザクションをロールバックしないように前のコマンドテキストを編集したいと考えています。
ジャックはtopanswers.xyzを

また、チェックアウトsqlcl(それはしかし、Javaアプリケーションですが、CLIのために非常に派手なプロンプトやターミナルサポート)
eckes

回答:


15

いくつかの方法。

EDITORSQL * Plus(Unixを想定)を実行する前に環境変数を設定して、外部テキストエディタ(vi例として)の使用を許可できます。

export EDITOR=vi

次にed、SQL * Plusを入力して、viエディタで前のクエリを編集します。もちろん、あなたが好むかもしれnanopicoemacsvimなどなど

あなたは、環境変数を設定したくない場合は、追加することができdefine _editor=vi、あなたに$ORACLE_HOME/sqlplus/admin/glogin.sql代わりにファイル。

SQL * Plusエディットヘブン(UNIX)を実現するための私のお気に入りの方法は、を使用することrlwrapです。これによりreadline、SQL * Plusにサポートが追加され、SQL * Plus自体内で簡単に編集できるようになります。

rlwrapディストリビューションパッケージリポジトリからインストール(または、こちらのWebサイトからダウンロードしてコンパイル)した後、シェルの起動スクリプト(.bashrc/ .bash_profileまたは同様のもの)に以下を追加します。

alias sqlplus="rlwrap -i sqlplus"

2

何かが変更されていない限り、「edit」と入力してEnterキーを押すだけで、メモ帳で開きます(ここではWindowsと想定)。そこでクエリを変更できます。


-2

すべてのコマンドラインアプリケーションで、emacsをインターフェイスとして使用できます。シェルモードを開き、コマンドラインツールを実行できます。Emacsはあなたが入力したコマンドをコマンドラインツールに送信し、出力を読み取って表示します。emacsへの入力を入力するため、emacsコマンドを使用して入力を操作できます。このモードを使用すると、emacsは次のようなOracleツールで使用できます*

  • rman
  • lsnrctl
  • adrci
  • dgmgrl

特にsqlplusをサポートする特別なsql-oracleモードがあります。私はずっと前にそれを使っていました。今日、私はそれをドキュメントで見つけませんでした。ウェブを検索したところ、次のリンクしか見つかりませんでした。emacsドキュメントを検索すると、さらに多くの情報が見つかる可能性があります。emacsには他のSQLモードがあり ます。このページには、@ Jack Douglasが見つけたリンクへの参照も含まれています。

emacsは複雑なツールだと思っているので、多くの人はemacsを嫌っています。


反対票がviファンからのものかどうかは疑問です;)私はこれをGoogleで見つけたようです(どうやら「sqlplus-mode.elからインスピレーションを得た」)。
ジャックはtopanswers.xyzを

これはsql-oracleモードに似ていると思います。
miracle173
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.