ホームページ  >  記事  >  データベース  >  Oracleをバッチ変更する方法

Oracleをバッチ変更する方法

PHPz
PHPzオリジナル
2023-04-18 15:19:195634ブラウズ

Oracle は、世界で最も人気があり、人気のあるデータベース管理システムの 1 つです。大量のデータを処理でき、高い拡張性と柔軟性を提供します。オラクルは、多くの強力なツールと機能も提供しており、エンタープライズレベルのデータ管理の最初の選択肢となっています。 Oracle では、SQL ステートメントを使用してデータのクエリ、更新、挿入、削除を行うことができます。ただし、大量のデータを同時に変更する場合、手動で 1 つずつ変更するのは明らかに最良の選択ではありません。この記事では、Oracle のツールと構文を使用してデータをバッチで変更する方法を紹介します。

1. SQL UPDATE ステートメントを使用してデータをバッチで更新します

SQL UPDATE ステートメントを使用してデータをバッチで更新します。その一般的な構文は次のとおりです。

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

このうち、table_name は更新するテーブル名、column1、column2 などは更新する列名、value1、value2 は更新する値です。更新しました。条件は更新条件です。

たとえば、students という名前のテーブルがあり、これには学生の名前とスコアという 2 つの列が含まれています。ここでスコアを 10 ポイント増やしたいので、次の SQL ステートメントを使用できます:

UPDATE students
SET score = score + 10;

このステートメントは、テーブル内のすべてのレコードのスコア列の値を 10 ポイント増やします。

しかし、特定の生徒のスコアのみを更新したい場合はどうすればよいでしょうか?このとき、WHERE 句を使用して更新条件を指定できます。例:

UPDATE students
SET score = score + 10
WHERE name = '张三';

このステートメントは、「Zhang San」という名前の生徒のスコアのみを更新します。

これは、SQL UPDATE ステートメントを使用してデータをバッチで更新する最も基本的な方法です。

2. Oracle の PL/SQL ステートメントを使用してデータをバッチで更新する

SQL UPDATE ステートメントを使用するだけでなく、Oracle の PL/SQL ステートメントを使用してデータをバッチで更新することもできます。このアプローチは通常、より複雑なデータ更新状況に適しています。

次に、PL/SQL ステートメントを使用してデータをバッチで更新する例を示します。従業員名、給与、勤務部門の 3 つの列を含む、employees という名前のテーブルがあるとします。ここで、「営業」部門の全従業員の給与を 10% 増加させます。これは特定の条件に基づくデータ変更であるため、SQL UPDATE 文よりも PL/SQL 文を使用する方が適切です。

DECLARE
    CURSOR c_sales_employees IS
    SELECT emp_id, salary FROM employees WHERE department = 'sale';

    v_emp_id employees.emp_id%TYPE;
    v_salary employees.salary%TYPE;
BEGIN
    FOR emp IN c_sales_employees LOOP
        v_emp_id := emp.emp_id;
        v_salary := emp.salary * 1.1;
        UPDATE employees SET salary = v_salary WHERE emp_id = v_emp_id;
    END LOOP;
    COMMIT;
END;

上記のコードでは、まず CURSOR 型変数 c_sales_employees が定義されます。これは、「営業」部門の従業員情報を格納するために使用されます。次に、FOR ループを使用して、c_sales_employees 内のすべての従業員の名前と給与を v_emp_id と v_salary に保存し、UPDATE ステートメントを使用して、対応する従業員の給与を変更します。最後に、COMMIT ステートメントを使用してトランザクションをコミットします。

3. Oracle のバッチ変更ツールを使用する

Oracle には、バッチでデータを変更するために使用できる組み込みツールもいくつかあります。これらのツールは、大量のデータの処理に役立ちますより迅速かつ安全にデータを保存します。以下は、2 つの主要なツールの紹介です。

  1. SQL*Loader

SQL*Loader を使用してデータ ファイルを Oracle データベースにバッチ ロードするには、次の手順に従います。次の手順 続行します:

  1. 制御ファイルを作成します。
  2. インポートするデータファイルを準備します。
  3. SQL*Loader を実行し、制御ファイルとデータ ファイルを指定します。

次は、生徒の成績情報を Oracle にインポートするための簡単な制御ファイルの例です:

LOAD DATA
INFILE 'student_grades.csv'
APPEND INTO TABLE student_grades
FIELDS TERMINATED BY "," (name, id, grade);

このファイルでは、インポートするデータ ファイルが指定されています。student_grades.csv、およびカンマを区切り文字として使用してデータを 3 つの列に分割し、それぞれ学生名、学生 ID、学生の成績を表します。

  1. Oracle SQL Developer

Oracle SQL Developer は、Oracle データベース内のデータを管理するために使用できるグラフィカル インターフェイス ベースのツールです。 SQL Developerを使用すると、データの一括変更が簡単になります。

SQL Developerを使用してデータをバッチで変更する手順は次のとおりです:

  1. 変更する必要があるOracleデータベースに接続します。
  2. 左側のナビゲーション バーからデータ テーブルを見つけ、変更する必要があるデータ列を見つけます。
  3. 変更する列またはすべての列を選択し、右クリックして「行の編集」ウィンドウを開きます。
  4. 必要に応じてデータを変更し、変更を保存します。

概要

バッチ変更は、Oracle データベース管理の重要なタスクの 1 つです。この記事では、SQL UPDATE 文と PL/SQL 文を使用してデータをバッチで更新する方法と、Oracle のバッチ変更ツールを使用して大量のデータを処理する方法を紹介します。これらのヒントは、データベース管理者が Oracle データベースのデータをより効率的かつ正確に管理するのに役立ちます。

以上がOracleをバッチ変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。