值得注意的是,就像 PostgreSQL 中的 COPY TO 陳述式一樣,「$table_name」也可以包含欄位列表或是一個 SELECT 查詢。
例如:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)');
$rows = pg_copy_to($db,'(SELECT ...)');(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_copy_to — 將表格複製到陣列
$connection,$table_name,$separator = "\t",$null_as = "\\\\N"
pg_copy_to() 將表格複製到陣列。它在內部發出 COPY TO SQL 命令來擷取記錄。
連線一個 PgSql\Connection 實例。
table_name (表格名稱)要從中複製資料到 rows 的表格名稱。
separator (分隔符號)在 rows 的每個元素中,用於分隔每個欄位值的標記。預設值為 \t (Tab)。
null_as (空值表示)SQL NULL 值在 rows 中的表示方式。預設值為 \\N ("\\\\N")。
| 版本 | 說明 |
|---|---|
| 8.1.0 | connection 參數現在需要一個 PgSql\Connection 實例;先前需要的是一個 資源。 |
範例 #1 pg_copy_to() 範例
<?php
$db = pg_connect("dbname=publisher") or die("無法連線");
$rows = pg_copy_to($db, $table_name);
pg_query($db, "DELETE FROM $table_name");
pg_copy_from($db, $table_name, $rows);
?>值得注意的是,就像 PostgreSQL 中的 COPY TO 陳述式一樣,「$table_name」也可以包含欄位列表或是一個 SELECT 查詢。
例如:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)');
$rows = pg_copy_to($db,'(SELECT ...)');您無法在此命令中指定 schema 名稱。您可以使用以下程式碼僅針對一個查詢更改搜尋路徑
<?php
pg_query($conn, "SET search_path TO myschema;");
$copy_to = pg_copy_to($conn, 'tablename');
pg_query("RESET search_path;");
?>