この How-To を完了すると、次のことが理解できるようになります。SQLワークシートを使用して、データを更新するためのいくつかのSQLコマンドを記述する方法。
N2009年11月にSQL Developer 2.1をアップデート済み
Oracle SQL Developerは、単純または複雑なSQLステートメントを記述して、データのアップデートに使用できるSQLワークシートを提供します。このハウツーでは、レコードの挿入、1つまたは複数のレコードのアップデート、1つまたは複数のレコードの削除など、最も基本的な方法について説明します。
SQL Developerには、テーブルにデータを挿入するのにさまざまな方法があります。最も簡単な方法から始めます。
1. SQL Developerでは、テーブル定義を使用してデータを簡単に入力できます。接続ナビゲータでEMPLOYEESテーブルを選択します。
値がいくつか必要であることに注意してください。(Nullable = 'No')新しい行を挿入するときは、少なくともこれらの値を入力する必要があります。
2. [データ]タブをクリックします。そのテーブルにある現在のデータが表示されています。スクロールバーを使用して、テーブルのすべての行を表示します。新しい行を挿入するには、行の挿入ボタンをクリックします。
取得された行数が「結果」タブの下に表示されることに注意してください。
3. 必須項目EMPLOYEE_ID、LAST_NAME、EMAIL、HIRE_DATE、JOB_IDの値を入力します。
より複雑なクエリまたはステートメントについては、Format関数(Ctrl + F7)を使用して、SQLを読みやすくします。これは、コンテキストメニューにあります。
4. レコードをデータベースに保存するには、[Commit Changes]ボタンをクリックします。
変更をコミットすると、データエディタのログに[Commit Successful]コメントが表示されます。
5. コマンドラインまたはSQL Plusを使用するときに使用する「従来の」方法でデータを挿入することもできます。
SQLワークシートに戻り、次のコマンドを入力します。
部門に挿入(DEPARTMENT_ID、DEPARTMENT_NAME)値(300、'Research');
F9をクリックします。
注: F5をクリックすると、詳細が[Script Output]タブに表示されます。
メッセージウィンドウのフィードバックに注意してください。
前と同じように、変更をコミットしてデータベースに保存する必要があります。
SQLワークシートにCommitと入力します。
上記の例のように、SQLワークシートやSQLコマンドを使用してデータを更新したり、テーブル定義のデータタブを使用して個々の行を更新したりできます。この次の演習では両方を行います。
1. ここでも、[データ]タブインターフェイスを使用して行を簡単に更新できます。
前の演習で行ったように、接続ナビゲータ内でテーブルをクリックします。この演習では、DEPARTMENTSテーブルを使用します。
前の作業とは異なるテーブルをクリックすると、タブが新しく選択されたテーブルに置き換わっていることがわかります。[EMPLOYEES]タブと[DEPARTMENTS]タブを開いたままにするには、新しいオブジェクトを選択する前に[Freeze View]ピンをクリックします。
常に新しいタブを開くようにするは、タブを固定するように設定できます。
2. 前の演習では、新しいレコードを追加しました。値をクリックして変更することにより、そのレコードを更新します。
レコードを更新すると、レコードの横にアスタリスク(*)が表示されるのに気付きます。前述と同様に、[Commit Changes]をクリックして、データベース内のレコードを更新します。
3. この方法を使用して複数のレコードを更新できますが、各レコードをステップスルーし、フィールドをクリックしてレコードを更新する必要があります。複数のレコードがある場合は、扱いにくい場合もあります。複数のレコードを更新するには、SQLステートメントを使用する方が簡単です。
update departments
set manager_id = 108
where department_id in (120, 130, 140);
Commit;
表示される結果は、HRスキーマが所有するオブジェクトです。
4. テーブルのデータタブに戻り、更新を選択して、上記の結果を確認します。(または、SQLワークシートでSQLクエリを書く)
表示される結果は、HRスキーマが所有するオブジェクトです。
前の2つの例と同様、SQLワークシートを使用して単一または複数の行を削除したり、[Data]タブを使用したりできます。
1. [DEPARTMENTS]データタブに戻り、挿入した新しいレコードを選択して削除します。
2. [Commit Changes]ボタンをクリックするまで、この行は削除されません。つまり、変更はデータベースにコミットされません。
3. 最後に、SQLワークシートに戻り、選択した行を削除して、次のとおり入力します
delete from departments
where department_id > 200;
4. 前述と同様、これらの変更はデータベースに保存されません。行った変更を元に戻すには、次のように入力します。
ROLLBACK;
Click F9.
発行した削除アクションが取り消されました。