ソフトウェアコンポーネント
Array DML (大量レコード一括INSERT/UPDATE/DELETE)
ここではArray DML(バルク・バインド)の利用法を説明します。 大量のレコードを一度に更新するのに、ループの内部で1件更新のDML(INSERT文やUPDATE文など)を呼び出すのは、クライアントとOracleサー […]
カーソル変数を返すプロシージャ
Microsoft SQL Server や、Sybaseでは、こんな風にストアドプロシージャでSELECT文を実行し、その結果セットをストアドプロシージャから返すことができます。 create procedure sp […]
引数としてのPL/SQLテーブル利用
PL/SQLストアドプロシージャは、引数にPL/SQLテーブルと呼ばれる、配列データをとることができま、DOAを用いれば、一次元配列データをパラメータとして受け渡しすることが可能になります。 OracleのPL/SQLで […]
パッケージウィザード
ここではパッケージウィザードの使い方について説明します。 DOAのパッケージウィザードは、Oracleのパッケージ関数をアプリケーションから直接利用するために、以下の性質を持つクラス定義を自動的に行います。 […]
TOraclePackageによるプロシージャの実行
Oracleはプロシージャ・ファンクション・変数・定数・カーソル・例外などを、パッケージにまとめて扱うことができます。パッケージの中で定義されたパッケージ・プロシージャおよびパッケージ・ファンクションの呼び出しは、DOA […]
TOracleQueryによるストアドプロシージャの実行
Oracleでは、PL/SQL言語を用いて、サーバ上にストアド・プロシージャを作成することができます。もちろん、DOAからストアドプロシージャを呼び出すことが可能です。ここでは、以下のようにPL/SQLストアドプロシージ […]
データのバリデーションとメッセージテーブル
ここではデータディクショナリを利用したバリデーションについて説明します。 Oracleのデータ型と、Delphiのデータ型は必ずしも一致しません。例えば、OracleでNumber(7,2)として宣言されているフィールド […]
TOracleDataSet のCachedUpdates モード
ここではCachedUpdatesについて説明します。 Delphi Professional 以上のユーザであれば、BDE(Borland Database Engine)で「キャッシュアップデート」という機能が使える […]
TOracleDataSet とレコードのロック
ここではレコードロックの必要性について説明します。 データベースを更新するアプリケーションを通じて、複数のユーザが同一のレコードを更新してしまう可能性がある場合、何らかの機構を用いて、更新の競合を防いだり、二重更新に折り […]
シーケンス/デフォルト値/トリガーの利用
SEQUENCEによるAutoIncカラムの実現 ORACLEのテーブルのカラム型には、いわゆるAutoInc型やAutoNumber型のように、新規レコードを挿入すると自動的にインクリメントされてユニークになることが保 […]