值得注意的是,就像 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;");
?>