Oracle
■NVL(A,B) AがnullならBを ■NVL2(A,B,C) Aがnullではない場合、Bを、nullならCを ■COALEACE(A,B,C,D,E) AがnullではないならAを、そうでなければBを、BがnullならCを... ■NULLIF(A,B) A == BならNULLを、そうでなければAを
経緯 集計関数の問合せできるできないルールがちょっと混乱することがあるので、解いて行きたい。 1,集計関数でネストしている場合 SELECT MIN(AVG(sal)) FROM emp; employees の salary の 平均avg の 最小値min が欲しい。一見良さそうであるが、group by…
ANY ANYはなかなか使わないけど、selectしたもののうち一つでも条件に合えば返す X > ANY(select Y from Z) → ZのYのうちのひとつを上回ればtrue → X > select MIN(Y) from Z で良さそう 速さはANYの方が速そう ALL select したもののうち全ての条件に合えば…
CTAS CTAS create tabls as select selectを使い他のテーブルからデータと構造をコピーしてテーブルを作ることができる。 移される制約はnot nullだけである。 where句を指定することでコピーしたいデータや、件数を0にするような条件句でテーブルだけ作ると…
知らなかったシーケンスの使い方 シーケンスなんてORACLEを使ってる人からすれば、なんてことはない、連番を採番するオブジェクトだ。SQL SERVERのidentityのような動きをする。 しかし、別々のテーブルの主キーに使い、IDを被らせないという方法ができるの…
制約 alter table [table name] disable constraint [constraint name] cascade; → 特定の制約をdisableにする場合、その制約に関連する他の制約も外す on delete cascade →削除された行を参照している子表の行も併せて削除する on delete set null →削除さ…
WITH CHECK OPTION ・UPDATEとINSERTの時にVIEWのselect文のwhere句の条件を満たしていない場合、エラーとなる。 ・DELETEはエラーにならない。(DELETE後にデータは残らないからチェックできない) FORCE ・参照するオブジェクトがない場合でもとにかくVIEWを…
リスナーが起動していない場合 リスナーが起動後 LSNRCTL> status Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for 64-bit Windows: Vers…
抽出結果を見やすくする ツール > プリファレンス データベース > ユーティリティ > ワークシート 「市松模様またはしま模様のグリッド」にチェックをする。 すると問合せ結果がシマシマになって、見やすくなる。
非等価結合とは SQLにおいてテーブルをjoinする際の結合条件が等価ではないことである。 on句でbetweenや不等号が使われる。 勘違いしやすいところ これは非等価式 SELECT e.employee_id,h.employee_id, e.first_name, e.last_name, e.hire_date,h.start_dat…
勉強用に無料で使用したい そんな願望は多い。 ということでORACLEさんが無料で用意してくれている。 Database Software Downloads | Oracle 日本 サーバーはAzureで Dockerに入れて行う方法やvirtualboxを使った方法など、先人たちが紹介してくれている。 …
フラッシュバックドロップとは DROPテーブルしてしまった後に、テーブルを元に戻したい場合に使用する。 ゴミ箱に同じ名前の表がある場合 では、DROPテーブルで同じ名前のテーブルを複数回行った場合、フラッシュバックドロップを行った時、どのテーブルが戻…
経緯 ORACLEマスターの勉強をしているとたまに出てくる単語。そのほかではあまり見かけない。この横文字が突然出てくると、最初は「うへ」ってなった。 うへってならないように、留めておく。 意味 余計なこと・もの。冗長。 使われ方 本番環境の調査のため…
フラッシュバックドロップ DROPしたテーブルを戻す ∟FLASHBACK TABLE <表名> TO BEFORE DROP; 仕様 ・DROPしたテーブルは同じ表領域で論理削除されているので、元に戻す ・索引も元に戻る ・PURGEオプションで DROPしている場合は元に戻すことはできない ・C…
ACHIVELOGモード 直前までのデータをメディアリカバリできる。 why →オープンの状態でREDOログをアーカイブしているから。 how →ARCnプロセスがログスイッチのタイミングでREDOログファイルの新たなグループを上書きする前に、アーカイブログファイルとして…
AWR(Automatic Workload Repository) 自動ワークロードリポジトリ ADDR(分析)のための統計情報とワークロード(処理負荷)情報を自動的に収集してくれる。 仕様 ・デフォルトで60分間隔でAWRスナップショットが実行される ・MMONによって実行される ・SYSAUX表…
3つの結合方法 ORACLEには結合方法が3つあるので軽く説明できるようになりたい。 ネスティッドループ結合 索引を使用するときはこれ。 索引を使用しているということはB+Treeのデータ構造となるため、二分探索になるから速い。O(logn)??いや、索引がきちんと…
ORACLEデータベースで初期化パラメータを変更したい!っていう時、そのパラメータが動的か静的かによって変更の仕方が異なりますよね。 例えば、動的初期化パラメータの場合、単純に下記のようにSQLを叩くと変更が即座に適用されます。 ALTER SYSTEM SET PGA_…
ORACLEデータベースには勝手とは言わないまでも、自動で作成される索引があるのは知っていましたか?。ちなみに19cのAutomatic indexingの話ではありません。それはテーブル制約である、主キーもしく一意制約を付けると自動的に索引が作成されるのです。実際…