0371.blog

ORACLE MASTER Bronze Oracle SQL 12c 第九章

lecture


※この記事はまだ完成していません。もうちょっと待ってね。

こんにちは、0371です。

今回はORACLE MASTER Bronze Oracle SQL 12cの第十章についてまとめました。

ORACLE MASTER Bronze Oracle SQL 12c 第十章

第十章は「データ操作文を使用した表の管理」についての内容です。

について

  • INSERTには、列リストを記述しない場合と記述する場合がある。
  • 記述しない場合、次の点に注意する。

    • 表に定義されているすべての列が挿入対象となる。
    • 表に定義されている列の順序に合わせて値を指定する。
  • 記述する場合、次の点に注意する。

    • リストに指定されていない列にはDEFAULT値が入る(DEFAULTが設定されていない場合はNULL)
    • リストに指定された位置に合わせて値の位置を揃える。
  • VALUES句を使用するINSERTと、副問い合わせを使用するINSERTがある。
  • VALUES句と副問い合わせの併用はできない。
  • 副問い合わせを使用するINSERTでは、副問い合わせをカッコで囲まない。
  • VALUES句の値の代わりに単一列単一行の副問い合わせを使用することができる。
  • VALUES句には、単一行関数を使用することができる。
  • NULLを挿入する場合は、値リストに指定しないか、明示的にNULLを挿入する。(NULLと記述する)
  • SET句における値の代入には、イコール(=)を使用する。
  • 複数の列を更新する場合は、SET句において、列をカンマで区切る。
  • SET句には、単一行単一列副問い合わせと単一行副問い合わせを使用することができる。
  • SET句に複数列副問い合わせを使用する場合は、代入列をカッコで囲む。
  • WHERE句に副問い合わせ(単一行、複数行、単一列、複数列すべて可能)を使用することができる。
  • WHERE句を記述しないと表内のすべての行が削除される。
  • TRUNCATE文では、行がすべて削除される。
  • TRUNCATE文は、ロールバックに必要なデータを生成しない(そのため、高速に行の削除ができる)
  • TRUNCATE文は、ロールバックできない。
  • トランザクションは次のいずれかによって終了する。

    • COMMIT文の実行。
    • ROLLBACK文の実行。
    • DDL(CREATE、ALTER、TRUNCATE)の実行
    • DCL(GRANT、REVOKE)の実行
    • ユーザーによるSQL*Plusなどの終了
    • システムクラッシュの発生
  • COMMIT文を実行するとトランザクション内のDML操作は確定し、ROLLBACKで取り消すことはできない。
  • ROLLBACKするとトランザクション内で行われたDML操作による変更は取り消される。
  • セーブポイントを使用するとロールバックする位置を制御できる。
  • 「SAVEPOINT セーブポイント名;」で設定する。
  • 「ROLLBACK TO セーブポイント名;」で指定したセーブポイント以降のDML操作が取り消される。
  • セーブポイント以前のDMLおよびセーブポイントは有効である。
  • トランザクションが終了すると、セーブポイントはすべて消去される。
  • トランザクション中に同じセーブポイントを設定すると以前のセーブポイントは削除される。

参考書籍

オラクルマスター教科書 Bronze Oracle Database 12c SQL "https://amzn.to/2RlUGfd"

今日の一言

第十章が分かったのでOracle SQLはマスターしたも同然!!!!

次回の記事はこちら

ORACLE MASTER Bronze Oracle SQL 12c 第十一章
"https://0371.blog/oracle-sql-11"