Oracle での update の使用法: 1. テーブル内のデータを変更するために使用され、構文は「UPDATE テーブル名 SET 列名 = 新しい値 WHERE 列名 = 特定の値」です; 2. 2 つの値を結合するために使用されます。テーブル 関連付けを通じてビューを作成し、更新します。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
標準の update ステートメントの提供に加えて、Oracle では、さまざまなアプリケーション シナリオに対処するための他のデータ更新メソッドも提供しています。
update_statement ::= UPDATE {table_reference | [THE] (subquery1)} [alias] SET { column_name = {sql_expression | (subquery2)} | (column_name [,column_name]...) = (subquery3)} [,{column_name = {sql_expression | (subquery2)} | (column_name [,column_name]...) = (subquery3) }]... [WHERE {search_condition | CURRENT_OF cursor_name}] [returning_clause]
Update ステートメントは、テーブル内のデータを変更するために使用されます。 W3school の構文:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
update join view は、まず 2 つのテーブルを関連付けてビューを作成し、次にソース テーブルを更新する目的を達成するためにビューを更新します。
update (select bonus from employee_bonus b inner join employees e on b.employee_id = e.employee_id where e.bonus_eligible = 'N') t set t.bonus = 0
上記の原則で述べたように、括弧内はビュー、セット内は更新する必要があるフィールドです。この方法は直接的かつ効率的ですが、かなり制限的です。従業員表の主キーは where 条件に指定する必要があります。指定しないと、「ORA-01779: 非キー値保存表に対応する列を変更できません」というエラーが報告されます。
merge into は Oracle 独自のステートメントです:
MERGE INTO table_name alias1 USING (table | view | sub_query) alias2 ON (join condition) WHEN MATCHED THEN UPDATE table_name SET col1 = col_val1,col2 = col2_val WHEN NOT MATCHED THEN INSERT (column_list) VALUES (column_values);
その原則は、alias2 のデータを選択し、各項目が ON (alias1 条件と結合) であることです。 )、一致する場合は更新操作 (Update) が実行され、一致しない場合は挿入操作 (Insert) が実行されます。表示カーソルと高速カーソル。
begin for cur in (table|subquery) loop update_statement end loop; end;
表示カーソル
SET SERVEROUTPUT ON DECLARE CURSOR emp_cursor IS SELECT empno,ename FROM emp; BEGIN FOR Emp_record IN emp_cursor LOOP update_statement; END LOOP; END;
カーソルを使用すると、多くの利点があります。for ループにより、バッチ データを更新する方法と、Oracle の物理的な ROWID が提供されます。フィールド (Oracle にはデフォルトで各テーブルに ROWID フィールドがあり、一意のインデックスです)。更新するレコードをすばやく見つけることができ、複雑なクエリ ステートメントもサポートできます。
推奨チュートリアル: 「
Oracle ビデオ チュートリアル」
以上がOracleでのupdateの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。