PL/SQL

.NET Core

Blazor Serverとストアドプロシージャで実装するシンプルで高速なDBトランザクション処理(on ORACLE)

.Net 6.0 の Blazor Serverから、Dapper+Oracle.EntityFrameworkCore NuGetパッケージを使い、ORACLEデータベースのストアドプロシージャ(PL/SQL)を使用する場合の、DBトラン...
.NET Core

ASP.NET Core Web APIとストアドプロシージャで実装するシンプルで高速なDBトランザクション処理(on ORACLE)

.Net 6.0 の ASP.NET Core Web APIから、Dapper+Oracle.EntityFrameworkCore NuGetパッケージを使い、ORACLEデータベースのストアドプロシージャ(PL/SQL)を使用する場合...
PL/SQL

ORACLEのストアドプロシージャを SQL Developerで作成する手順

ORACELの標準開発ツールである SQL Developerを使い、ORACLE ストアドプロシージャ(PL/SQL)を作成する例を作成しました。 Selectするプロシージャ Insertするプロシージャ バージョン ORACLE DB...
Oracle

Oracleの SYS.AUD$テーブルに残っている監査ログを、DBに負荷をかけずに削除するSQLスクリプト

1000行づつ削除してコミットし、1000行毎に10秒Waitします。 sqlplusから実行した場合の実行結果サンプル。
Oracle

更新系SQLを実行したあとcommit文を実行し忘れると事故が起きる

SQL Developerや sqlplusで、更新系SQL(insert/update/delete)を実行したあと、commit文を実行しないと、対象レコードをロックしたままになり、他のアプリの処理が全く終わらない事象が起きる。他のデー...
Access

OracleのSQLは SQL Developer の クエリー・ビルダーで楽に書く

AccessやSQLServerで便利な、GUI上で動的にSQLをデザインし作成する機能が、Oracle の無料ツール SQL Developer にもある。データベースに接続しワークシートの「クエリー・ビルダー」を開くと、ビジュアルにSQ...
Oracle

Oracleインスタンスがコンテナデータベースかどうか確認するSQL

「sys」ユーザ「SYSDBA」権限で接続し、dba_pdbsビューをselectすることで確認できる。実行結果が0件なら従来型DB、1件でもあればコンテナデータベース。
Oracle

PL/SQLの Loopサンプル

※事前に「SET SERVEROUTPUT ON」を実行しておかないと、DBMS_OUTPUT.PUT_LINE()の結果が表示されない。
Oracle

Oracleでも断片化が進むと、思っている以上にスループットに影響する

SQL Serverだとテーブルやインデックスの断片化が進むと、オプティマイザに影響し、インデックスが使われなくなったり、SQLがパラレル処理されなくなるなどで、SQLの実行時間が極端に長くなる事象を、以前、実験結果から得ていましたが、Or...
Oracle

基礎からわかる PL/SQL

基礎からわかる PL/SQLが分かり易い。 久々にPL/SQLを扱わないといけなくなった際、PL/SQLの文法、プロシージャ、ファンクション、パッケージの作成をどうやるか、思い出すのに最適な本。 プロシージャのメリットや、SQLのパフォーマ...