sql >> データベース >  >> RDS >> Oracle

Oracleで行を削除する方法

    このSQLチュートリアルでは、Oracleのテーブルから削除するための説明と例を提供します

    表からの削除は、表の行を削除するためにOracleSqlで使用されます。これはDML(データ操作言語)ステートメントです。これは、既存の行のサブセットまたは既存のすべての行をテーブルから削除するために使用されます。

    Oracleでの削除構文は次のとおりです

    ここで、テーブルは削除する行を指定するテーブル名と条件であり、これは列、サブクエリ、式で構成されています

    重要なポイント。

    • 削除ステートメントにはテーブルのロックが必要です
    • 日付を恒久的に変更するには、コミットする必要があります(コミット;)
    • rollbackコマンドを使用して、削除ステートメントの変更を元に戻すことができます(rollback;)
    • 削除時にトリガーが定義されている場合、削除された行ごとにトリガーが発生します
    • deleteステートメントから削除される行数を確認する場合は、最初に同じwhere句を指定してselectステートメントを実行し、行数を確認します。

    DELETEステートメントを使用するいくつかの方法を見てみましょう

    テーブルから特定の行を削除するか、Oracleからレコードを削除するにはどうすればよいですか

    列名name=’JOHN’

    である行を削除するとします。
    delete from emp where name='JOHN';
    commit;
    
    or 
    delete from emp where name='JOHN';
    rollback;

    または

    部門テーブルから部門を削除したいとします

    delete from dept where dept_no= 10;
    commit;
    

    これらのステートメントは、その特定の列値を含むすべての行を削除します。削除ステートメントが完了すると、削除された行数が表示されます。永続的に変更を加えるためにコミットを実行する必要があります。

    削除された行がない場合は、0行が削除されたと表示されます。

    Oracleのテーブルからすべての行を削除するまたはテーブルからすべてのレコードを削除するにはどうすればよいですか

    テーブルの例からすべての行を削除したい場合、ステートメントは次のようになります

    Delete from example;
    
    delete from employee;
    
    delete from fnd_users;
    commit;
    

    oracleテーブルからすべての行を削除し、削除された行数(実際にはテーブルの数)を出力します。

    これは、テーブルの最高水準点をリセットしません。そしてそれは元に戻すを使用します。 Oracleコマンドでテーブルの切り捨てを使用すると、HWM(最高水準点)がリセットされ、ステートメントの削除よりも元に戻すことがはるかに少なくなります

    Oracleのサブクエリに基づいてテーブルから行を削除

    Deleteステートメントをサブクエリとともに使用して、行を削除できます

    deptテーブルのdept名に基づいてEmpの行を削除したい場合、deleteステートメントは次のようになります

    delete from emp where dept_id = (select dept_id from dept where dept_name='SALES');
    commit;
    

    上記のステートメントは、最初にdept_nameがsalesであるdeptテーブルからdept_idを検索します。次に、dept_idをempテーブルのdeleteステートメントにフィードします

    EXISTS /NOTEXISTS句を使用してテーブルから行を削除します

    これは、サブクエリのみを使用して削除する別の形式です。これは、2つのテーブルを比較してデータを削除する場合に使用されます

    従業員がいない部門テーブルからレコードを削除するとします

    delete from
    FROM dept d
    WHERE NOT EXISTS
    (SELECT * FROM emp e
    WHERE d.dept_id
    = e.dept_id);
    commit;
    

    Oracleで行を削除する方法

    のこのコンテンツを気に入っていただければ幸いです。

    関連記事
    Oracleでのテーブルの変更:Oracleでのテーブルの変更は、列の変更、制約の削除と追加、テーブル列のデータタイプの変更、テーブルストレージパラメータの変更に使用されます
    Oracleでのグローバル一時テーブルの作成
    oracleのUpdateステートメント:oracleのUpdateステートメントを使用して、oracleデータベースのoracleテーブルの既存の行を変更します。更新は複数の方法で実行できます
    DROPTABLEORACLE:Oracleでのドロップテーブル、Oracleに存在する場合はドロップテーブル、1つのコマンドで複数のテーブルをドロップ、テーブルカスケード制約をドロップ
    Oracle Create table:Tables Oracleデータベースのデータストレージの基本単位です。 Oraclecreatetableコマンドを使用して外部キー/主キーを使用してテーブルを作成する方法について説明します
    削除に関するOracleのドキュメント
    oracledeletecascade:Oracledeletecascadeを使用してORA-02292を解決する方法についてこの投稿を確認してください詳細な例と説明付き


    1. SisenseでのJavaデータの操作

    2. EBSR12用のDMZを作成する方法

    3. MySQLでデータベースを作成するSQLクエリ

    4. MariaDBUNIONオペレーターの説明