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 つの主要なツールの紹介です。
SQL*Loader を使用してデータ ファイルを Oracle データベースにバッチ ロードするには、次の手順に従います。次の手順 続行します:
次は、生徒の成績情報を Oracle にインポートするための簡単な制御ファイルの例です:
LOAD DATA INFILE 'student_grades.csv' APPEND INTO TABLE student_grades FIELDS TERMINATED BY "," (name, id, grade);
このファイルでは、インポートするデータ ファイルが指定されています。student_grades.csv、およびカンマを区切り文字として使用してデータを 3 つの列に分割し、それぞれ学生名、学生 ID、学生の成績を表します。
Oracle SQL Developer は、Oracle データベース内のデータを管理するために使用できるグラフィカル インターフェイス ベースのツールです。 SQL Developerを使用すると、データの一括変更が簡単になります。
SQL Developerを使用してデータをバッチで変更する手順は次のとおりです:
概要
バッチ変更は、Oracle データベース管理の重要なタスクの 1 つです。この記事では、SQL UPDATE 文と PL/SQL 文を使用してデータをバッチで更新する方法と、Oracle のバッチ変更ツールを使用して大量のデータを処理する方法を紹介します。これらのヒントは、データベース管理者が Oracle データベースのデータをより効率的かつ正確に管理するのに役立ちます。
以上がOracleをバッチ変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。