自分の感覚で Oracle を条件検索したときに遭遇した罠のお話です。おそらくは、同様の状況になったこともあるとは思うのですが、記憶は全くありません。(はっ、もしや、バグが混入したまま動いてるのでしょうか?というよりも、バグのないシステムなどありません)
Tag Archives: oracle
[ ZendFramework1 ] 複数のDB接続先を application.ini に設定する ( Zend_Application_Resource_Multidb )
ここでは、複数のデータベースの接続先を application.ini に設定するサンプルを掲載しています。具体的には、application.ini に設定可能な Zend_Application_Resource_Db および Zend_Application_Resource_Multidb リソースプラグインを使用したサンプルになります。
[ ZendFramework1 ] Oracle接続の基本的なサンプル(接続、トランザクション、クエリ)
ここでは、Zend Framework で、Oracle データベースに接続、トランザクション、クエリなどを行う基本的なサンプルコードを掲載しています。具体的には、Zend_Db(Zend_Db_Adapter_Oracle)クラスを使用します。
[ ZendFramework1 ] 独自の ini ファイルを使用する (Zend_Config_Ini, Zend_Log, Zend_Db_Adapter)
ここでは、ログの出力先とデータベースの接続先情報を独自の ini ファイルに定義して、Zend_Log クラスと Zend_Db_Adapter クラスインスタンスを生成するサンプルコードを掲載しています。
application.ini ファイル以外に個々のコンフィグ情報を設定すると、いいことあったり、なかったりします。
[ ZendFramework1 ] Oracle(clob, blob)カラムにファイルの格納と取得
ここでは、Zend_Db_Adapter_Oracle および Zend_Db_Statement_Oracle を使用して clob 型 および blob 型のカラムにそれぞれテキストファイル、バイナリファイルを格納と取得を行うサンプルコードを掲載しています。
[ ZendFramework1 ] 1レコードずつメモリ消費を抑えて取得する (Zend_Db_Statement)
ここでは、Zend_Db_Statement_Interface::fetch メソッドを使用して、1レコードずつ取得するサンプルコードを掲載しています。なお、oracle アダプタを使用している場合には OCI8 の oci_fetch_array 関数が内部でコールされています。
[ Oracle ] number型の精度(全体の桁数)とスケール(小数点以下の桁数)を指定する
ここでは、Oracle データベースのテーブルに数値型(number型)のカラムを作成するサンプルを掲載しています。なお、以下のリンク先にその詳細な記載がありますので、合わせて確認ください。
[ Oracle ] 引用識別子と非引用識別子の違い ( テーブル名:NG集 )
Oracle では、「 create table “TABLE1” ・・・ 」 のようにスキーマ・オブジェクト ( ここでは、テーブル名 ) などをダブルクォーテーションで囲って作成する場合、「引用識別子を使用してスキーマ・オブジェクトを指定する」 と表現することができます。一方、「 create table table1 ・・・ 」のようにダブルクォーテーションで囲わないでテーブルを作成することを 「 非引用識別子を使用する 」 と表現することができます。
ここでは、その代表的な違いを表にまとめて掲載しています。
[ CentOS ] PHP 5.3 ( OCI8 ) をソースコードからインストール
ここでは、CentOS5 で、PHP5.3 と OCI8 をソースコードからインストールするサンプルを掲載しています。OCI8 をインストールすることで PHP から Oracle データベースへ接続したりクエリの発行をおこなう oci8 関数を利用することができるようになります。
[ Oracle ] ROWID と文字列を相互に変換する ( ROWIDTOCHAR / CHARTOROWID )
Oracle でレコード固有の値である ROWID と文字列を相互に変換するサンプル SQL を掲載しています。特定のレコードを抽出するために多く使用されています。