"It issues COPY TO SQL command internally to insert records"
I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_copy_to — Copie une table dans un tableau
$connection
,$table_name
,$separator
= "\t",$null_as
= "\\\\N"
pg_copy_to() copie la table
table_name
dans un tableau.
Cette fonction utilise la commande interne
SQL COPY TO
pour insérer les tableaux.
connection
Une instance PgSql\Connection.
table_name
Nom de la table à partir de laquelle les données dans
rows
seront copiées.
delimiter
Le marqueur qui sépare les valeurs pour chaque champ dans chaque
élément de rows
. Par défaut
\t
.
null_as
Comment les valeurs NULL
de SQL sont représentées
dans rows
. Par défaut \\N
("\\\\N"
).
Un tableau avec un élément pour chaque ligne de données
COPY
, ou false
si une erreur survient.
Version | Description |
---|---|
8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une resource était attendu.
|
Exemple #1 Exemple avec pg_copy_to()
<?php
$db = pg_connect("dbname=publisher") or die("Connexion impossible");
$rows = pg_copy_to($db, $table_name);
pg_query($db, "DELETE FROM $table_name");
pg_copy_from($db, $table_name, $rows);
?>
"It issues COPY TO SQL command internally to insert records"
I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.
Worth noting here that just like the COPY TO statement in PostgreSQL, '$table_name' can include a list of columns or be a select query as well.
e.g.:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)';
$rows = pg_copy_to($db,'(SELECT ...)');
You cannot specify the schema name in this command. You can change the search path for just one query by using the following code:
<?php
pg_query($conn, "SET search_path TO myschema;");
$copy_to = pg_copy_to($conn, 'tablename');
pg_query("RESET search_path;");
?>