pure.db.oci8
[ class tree: pure.db.oci8 ] [ index: pure.db.oci8 ] [ all elements ]

Class: OciStatement

Source Location: /package/pure/db/oci8/OciStatement.inc

Class Overview

PURE_Class
   |
   --OciStatement

OCI8を利用したステートメントを管理するクラスです。


Methods



Class Details

[line 22]
OCI8を利用したステートメントを管理するクラスです。

OciStatementクラスはoci_parse関数から取得されるステートメントのリソースを隠蔽します。 また一部の機能を隠蔽・拡張し、利便性を高めます。




[ Top ]


Class Methods


constructor __construct [line 77]

OciStatement __construct( OciConnection $conn, resource $stmt, string $sql)

コンストラクタです。

通常、OciStatementクラスのインスタンスは独自に作成することはありません。 OciConnectionクラスのprepareメソッドがこれを行います。




Tags:

access:  public


Parameters:

OciConnection   $conn   コネクションクラス
resource   $stmt   ステートメント
string   $sql   SQL 文

[ Top ]

method bindParam [line 160]

void bindParam( string $ph_name, &$variable, [int $type = false], [int $length = false], mixed $variable)

プレースホルダにPHP変数をバインドします。

内部的にはoci_bind_by_name関数を利用しますが、型と長さの引数が逆になっていることに注意してください。 これは型の指定よりも長さの指定の方がより省略される頻度が高いと予測できるためです。




Tags:

access:  public


Parameters:

string   $ph_name   プレースホルダ名
mixed   $variable   バインドしたい変数
int   $type   型定数
int   $length   バインド時の最大長
   &$variable  

[ Top ]

method bindValue [line 139]

void bindValue( string $ph_name, mixed $variable, [int $type = false])

プレースホルダに値を設定します。

bindValueメソッドは内部的にはoci_bind_by_name関数を利用していますが、呼び出し側は即値が利用できます。 これは分かり切っている定数値をステートメントにバインドしたい場合に、いちいち変数を定義する必要がないことを表します。




Tags:

access:  public


Parameters:

string   $ph_name   プレースホルダ名
mixed   $variable   バインドしたい値
int   $type   型定数

[ Top ]

method clearFieldInfo [line 207]

void clearFieldInfo( )

ステートメントから取得したカラムの情報を破棄します。



Tags:

access:  protected


[ Top ]

method close [line 118]

void close( )

ステートメントを閉じます。



Tags:

access:  public


[ Top ]

method execute [line 177]

void execute( )

ステートメントを実行します。



Tags:

throws:  EOciException ステートメント実行の失敗
access:  public


[ Top ]

method fetch [line 278]

OciResultSet fetch( )

次の行を取得し、結果セットを返します。

次の行が取得できなかった場合にはfalseを返します。




Tags:

return:  結果セット
access:  public


[ Top ]

method fieldCount [line 362]

int fieldCount( )

カラム数を取得します。



Tags:

return:  カラム数
throws:  EOciException データベース処理の失敗
access:  public


[ Top ]

method fieldName [line 380]

string fieldName( int $col)

カラムの名前を取得します。

$col引数はカラムのインデックスを整数値で指定します。 インデックスの範囲は1~fieldCountメソッドの返り値の範囲になります。




Tags:

return:  カラム名
throws:  EIlligalParameterException インデックスが不正
throws:  EOciException データベース処理の失敗
access:  public


Parameters:

int   $col   カラムインデックス

[ Top ]

method fieldPrecision [line 438]

int fieldPrecision( string $name)

指定の名前のカラムの精度を取得します。



Tags:

return:  カラムの精度
throws:  EOciException データベース処理の失敗
access:  public


Parameters:

string   $name   カラム名

[ Top ]

method fieldScale [line 457]

int fieldScale( string $name)

指定の名前のカラムの位取りを取得します。



Tags:

return:  カラムの位取り
throws:  EOciException データベース処理の失敗
access:  public


Parameters:

string   $name   カラム名

[ Top ]

method fieldSize [line 419]

int fieldSize( string $name)

指定の名前のカラムのサイズを取得します。



Tags:

return:  カラムの桁数
throws:  EOciException データベース処理の失敗
access:  public


Parameters:

string   $name   カラム名

[ Top ]

method fieldType [line 400]

string fieldType( string $name)

指定の名前のカラムの型を取得します。



Tags:

return:  カラムの型
throws:  EOciException データベース処理の失敗
access:  public


Parameters:

string   $name   カラム名

[ Top ]

method getSQL [line 93]

string getSQL( )

ステートメントを生成したSQL文を取得します。



Tags:

return:  SQL文
access:  public


[ Top ]

method isNull [line 503]

bool isNull( string $name)

結果からカラムがNULLか否かを取得します。

isNullメソッドはfetchメソッドで最後に取得した結果セットと同一の内容を返します。




Tags:

return:  カラムがNULLか否か
throws:  EOciException レコードが取得されていない、フィールド名が不明
access:  public


Parameters:

string   $name   カラム名

[ Top ]

method listFetch [line 316]

OciResultList listFetch( [int $limit = false], [int $skip = false])

指定の最大行数まで行を取得し、結果セットのリストを返します。

最大行数を指定しない場合、結果セットの全てが取得されます。 多くの結果セットを一度に取得する場合、必要なメモリ容量に注意してください。 最大行数を指定しない結果セットの取得は、取得される結果の件数が予測でき、かつその件数がメモリ容量的にも問題ないことが予測できる場合にだけ利用してください。 なお、最大行数に負数を指定した場合、不正な値を指定した場合には結果セットは1件も取得されないことに注意してください。

$skip引数に正の整数を指定した場合、指定の行数分だけスキップした後に結果セットのリストを作成します。 スキップ行数に負数を指定した場合、不正な値を指定した場合にはスキップは行われないことに注意してください。 結果セットのリストを取得した後、次の行があるか否かはnextメソッドを参照してください。

結果セットは取得する行が存在しない場合には0件の結果セットを保持するリストで返されます。 これはスキップする行数を指定して、しかしスキップする行数にデータベースから取得された行数が満たなかった場合にも適用されます。




Tags:

return:  結果セットのリスト
access:  public


Parameters:

int   $limit   取得する最大行数
int   $skip   取得する前にスキップする行数

[ Top ]

method loadFieldInfo [line 217]

void loadFieldInfo( )

ステートメントからカラムの情報を取得します。



Tags:

throws:  EOciException データベース処理の失敗
access:  protected


[ Top ]

method loadValueInfo [line 241]

void loadValueInfo( )

ステートメントからカラム値の情報を取得します。



Tags:

access:  protected


[ Top ]

method next [line 262]

bool next( )

次の行を取得し、取得できたか否かを返します。

取得した情報はvalueメソッドやisNullメソッドにより参照します。




Tags:

return:  取得できたか否か
access:  public


[ Top ]

method reopen [line 103]

void reopen( )

ステートメントを開き直します。



Tags:

throws:  EOciException ステートメント作成の失敗
access:  public


[ Top ]

method rowCount [line 195]

int rowCount( )

ステートメントの実行によって影響を受けた行数を返します。

ステートメントがINSERTやUPDATEなどのDML文である必要があります。




Tags:

return:  行数
access:  public


[ Top ]

method value [line 485]

mixed value( string $name, [mixed $nvl = null])

結果からカラムの値を取得します。

PHP標準のOCI8関数とことなり、OciStatementクラスはOracleのデータ型にある程度即した型で返却します。 カラムがNULL値の場合には明示的にnullが返されます。 カラムがNUMBER型の場合、位取りが0ならばint型、それ以外はfloat型で返します。 カラムがDATE型の場合、OciConnectionクラスが設定したNLS_DATE_FORMATパラメータの設定値の状態でパース可能であればUNIX EPOCHによる日時 (整数値) に変換して返却します。 それ以外はOCI8関数の動作に従います。

valueメソッドはfetchメソッドで最後に取得した結果セットと同一の内容を返します。




Tags:

return:  カラムの値
throws:  EOciException レコードが取得されていない、フィールド名が不明
access:  public


Parameters:

string   $name   カラム名
mixed   $nvl   値がNULLの場合に返す値

[ Top ]


Documentation generated on Sun, 06 Jan 2008 01:33:21 +0900 by phpDocumentor 1.3.2