| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
PDO::sqliteCreateAggregate(PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0) PDO::sqliteCreateAggregate — SQL 文で使用する集約ユーザー定義関数 (UDF) を登録する 説明
public bool PDO::sqliteCreateAggregate
( string
$function_name
, callable $step_func
, callable $finalize_func
[, int $num_args
] )警告
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。 このメソッドは PDO::sqliteCreateFunction と似ていますが、 この関数で登録した関数は、クエリのすべての行の内容を集約する関数を登録します。 この関数と PDO::sqliteCreateFunction の最大の違いは、 集約関数を作成するためには 2 つの関数が必要であるということです。 パラメータ
返り値
成功した場合に 例
例1 集約関数 max_length の例
<?php
この例では、
テーブルのカラムの中で一番長い文字列の長さを計算する集約関数を作成します。
各行について max_len_step 関数がコールされ、
すべての行に対する処理が終わると、SQLite は
max_len_finalize 関数をコールして集約結果を決定します。
ここでは、 ヒント
結果の値を context に溜め込んでおき、最後に一括して処理するという方法は推奨 「しません」。これは、SQLite のメモリ消費量が大きくなるからです。 仮に 32 バイトの長さのデータが百万件あったとして、 それを溜め込むためにどれだけのメモリが必要になるか考えてみましょう。 ヒント
PDO::sqliteCreateFunction および PDO::sqliteCreateAggregate を使用して、 SQLite のネイティブ SQL 関数を上書きすることができます。
参考
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「PDO::sqliteCreateAggregate - SQL 文で使用する集約ユーザー定義関数 (UDF) を登録する」をGoogle検索
|