show コマンドと set コマンドは、SQL*Plus システム変数を管理するために使用される 2 つのコマンドです。
SQL> show all -- 68 個のシステム変数値をすべて表示します
SQL> show user -- 現在接続しているユーザーを表示します
SQL> エラーを表示 -- エラーを表示
SQL> set header off -- 列見出しの出力を抑制します。デフォルト値は ON です。
SQL> set Facebook off -- 最終行のカウントフィードバック情報の表示を抑制します。デフォルト値は「6 レコード以上の場合、フィードバック ON」です。
SQL> set Timing on -- デフォルトは OFF で、SQL ステートメントの実行時間の見積もりとパフォーマンスのテストに使用できます。
SQL> set sqlprompt "SQL> " -- デフォルトのプロンプトを設定します。デフォルト値は "SQL> "
SQL> set linesize 1000 -- 画面表示の線幅を設定します、デフォルトは 100
SQL> set autocommit ON -- 自動的にコミットするかどうかを設定します。デフォルトは OFF です。
SQL> set stop on -- デフォルトは OFF です。一時停止を設定すると、画面表示が停止し、ENTER キーが押されるまで待機してから次のページが表示されます。
SQL> set arraysize 1 --デフォルトは 15
SQL> set long 1000 --デフォルトは 80
例証します:
long 値のデフォルトは 80 です。long データ型は次のような多くのデータ ディクショナリ ビューで使用されるため、1000 に設定すると、より多くのコンテンツが表示されます。
SQL> 説明 user_views
列名 NULL 可能値 型なし
------------------------ -------- ----
VIEW_NAME が NULL ではありません VARCHAR2(30)
TEXT_LENGTH NUMBER
長いテキスト
SQL> define a = ''20000101 12:01:01'' -- 各種表示に含まれるキャリッジリターンのような定数を使用したい場合は、ローカル変数を定義します。
--defineコマンドを使用して設定可能
SQL> select &a from Dual;
元の値 1: デュアルから &a を選択
新しい値 1: デュアルから「20000101 12:01:01」を選択します
'2000010112:01:01
------------------
20000101 12:01:01
質問内容:
1. ユーザーは、データベース ユーザーの下にあるすべてのテーブルに対して同じ SQL 操作を実行する必要があります。このとき、SQL ステートメントを何度も入力するのは非常に面倒な実装方法です。
SQL> set header off -- 列見出しの出力を抑制します。
SQL> set Facebook off -- 最後の行のカウント フィードバック情報の表示を抑制します。現在のユーザーのすべてのシノニムの定義をリストします。これは、シノニムが実際に存在するかどうかをテストするために使用できます。
select 'desc '||tname from tab where tabtype='SYNONYM';
現在のユーザーのすべてのテーブルのレコード数をクエリします。
select 'select '''||tname||''',count(*) from '||tname||';' from tabtype='TABLE';
条件を満たすすべてのテーブルにパブリックとして選択権限を付与します。
select '||table_name||' を public に選択します。' from user_tables where "Conditions";
ユーザー配下のさまざまなオブジェクトを削除します
'ドロップ '||タブタイプ||' をタブから選択します。
資格のあるユーザーを削除する
select 'ユーザー '||ユーザー名||' から user_id > 25;
すべてのビューをすばやくコンパイルする
----データベースを新しいサーバーに移した後 (データベースの再構築)、ビューを再コンパイルする必要があります。
----この表スペース・ビューを他の表スペースの表に接続すると問題が発生するため、PL/SQL の言語機能を使用して迅速にコンパイルできます。
SQL> スプール ON.SQL
SQL> SELECT'ALTER VIEW '||TNAME||' FROM TAB;
SQL> スプールオフ
次にON.SQLを実行します。
SQL> @ON.SQL
もちろん、次のような承認とシノニムの作成も迅速に行うことができます。
SQL> SELECT 'GRANT SELECT ON '||TNAME||' FROM TAB;
SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR ユーザー名.'||TNAME||';'
コマンドリスト:
現在の実行コマンドが次のとおりであるとします。 select * from tab;
(a)pend は、バッファ内の現在の行の末尾にテキストを追加します。 a order by tname 結果: select * from tab order by tname;
(注: a の後にはスペースが 2 つ続きます)
(c)hange/old/new は、現在の行の古いテキスト c/*/tname を新しいテキストに置き換えます。 結果: タブから tname を選択します。
(c)hange/text は、現在の行からテキスト c/tab を削除します。 結果: select tname from;
del は現在の行を削除します
del n は行 n を削除します
(i)入力テキストは現在の行の後に行を追加します
(l)ist はバッファ内のすべての行を表示します
(l)ist n はバッファ内の n 行目を表示します。
(l)ist mn はバッファ内の m ~ n 行を表示します
run は現在のバッファーでコマンドを実行します
/カレントバッファのコマンドを実行
r カレントバッファのコマンドを実行する
@filename は、メモリにロードされた SQL ファイルを実行します。たとえば、次のとおりです。
SQL> edit s<Enter>
s.sql ファイルが現在のディレクトリに存在しない場合、システムは自動的に s.sql ファイルを生成します。
「select * from tab;」と入力し、保存して終了します。
SQL> @s<Enter>
システムは、現在のユーザーのすべてのテーブル、ビュー、シノニムを自動的にクエリします。
@@ファイル名は、.sql ファイル内で .sql ファイルを呼び出すときに使用されます。
保存ファイル名は、コマンドをファイルとしてバッファーに保存します。デフォルトのファイル拡張子は .sql です。
保存されたSQLファイルに転送されたファイル名を取得
start filename はメモリにロードされた SQL ファイルを実行します
スプール ファイル名は、その後のさまざまな操作と実行結果をディスク ファイルに「スプール」します。デフォルトのファイル拡張子は .lst です。
spool は現在の「スプール」ステータスを表示します。
スプールオフは出力を停止します 例:
SQL> スプール a
SQL>スプール
A.LSTへのポジティブスプール
SQL> スプールオフ
SQL>スプール
現在スプールはありません
exit SQL*PLUS を終了する
desc テーブル名はテーブルの構造を表示します。
show user は現在接続しているユーザーを表示します
エラーを表示 エラーを表示
show all は 68 個のシステム変数値をすべて表示します。
[編集] を選択すると、デフォルトのエディター (Windows システムでは notepad.exe) が開き、バッファー内の最後の SQL ステートメントを afiedt.buf ファイルに転送して編集します。
edit filename は、現在のディレクトリで指定された .sql ファイルを編集のためにエディタに転送します。
画面のクリア 現在の画面表示をクリアします 2. Oracle sqlplus ステートメント編集コマンド まず、次のような命令を入力します。
SELECT emp_id、emp_name
従業員から
入力コマンドでは、前の命令の後にステートメントを追加できます。たとえば、上記のステートメントが実行された後、次のように入力します。
入力 WHERE emp_age > 30
次の手順を取得できます。
SELECT emp_id、emp_name
従業員から
WHERE emp_age > 30
ln コマンドは、入力された n 行目のステートメントの操作を指定するために使用されます。たとえば、上記のステートメントの実行後に次のように入力します。
l1、現在選択されているステートメント行は
SELECT emp_id、emp_name
(ステートメントの前に「*」で示されます)
a コマンドは、現在の行の末尾に直接文字を追加するために使用されます。たとえば、上記のステートメントの実行後に次のように入力します。
a、emp_dept
実行される命令は次のようになります。
SELECT emp_id、emp_name、emp_dept
従業員から
WHERE emp_age > 30
c コマンドは、現在のステートメントの文字を変更するために使用されます。たとえば、上記のステートメントの実行後に次のように入力します。
c /emp_name/emp_age/ の場合、実行されるコマンドは次のようになります。
emp_id、emp_age、emp_dept を選択します。
従業員から
WHERE emp_age > 30
del n コマンドは、命令の n 行目を削除するために使用されます。たとえば、上記のステートメントの実行後に次のように入力します。
デル3
実行される命令は次のようになります。
emp_id、emp_age、emp_dept を選択します
従業員から
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/myyuren/archive/2009/12/21/5046608.aspx