pg_insert
Inserta un array en una tabla
&reftitle.description;
PgSql\Resultstringboolpg_insert
PgSql\Connectionconnection
stringtable_name
arrayvalues
intflagsPGSQL_DML_EXEC
pg_insert inserta los values
en la tabla table_name.
Si flags está especificado,
pg_convert se aplica a
values con los flags proporcionados.
Por omisión, pg_insert pasa valores sin tratar.
Los valores deben ser escapados o el flag PGSQL_DML_ESCAPE
debe ser especificado en flags.
PGSQL_DML_ESCAPE coloca comillas y escapa los parámetros/identificadores.
Por consiguiente, los nombres de tabla/columnas se vuelven sensibles a mayúsculas y minúsculas.
Tenga en cuenta que ni el escape ni las consultas preparadas pueden proteger
consultas LIKE, JSON, arrays, Regex, etc. Estos parámetros deben ser
tratados de acuerdo con su contexto. Es decir, escapar/validar los valores.
&reftitle.parameters;
connection
&pgsql.parameter.connection;
table_name
Nombre de la tabla en la que se insertarán las filas. La tabla
table_name debe tener al menos tantas columnas
como elementos tenga values.
values
Un &array; cuyas claves son los nombres de los campos en la tabla table_name,
y cuyos valores son los valores de esos campos que serán insertados.
flags
Cualquier combinación de constantes entre
PGSQL_CONV_OPTS,
PGSQL_DML_NO_CONV,
PGSQL_DML_ESCAPE,
PGSQL_DML_EXEC,
PGSQL_DML_ASYNC o
PGSQL_DML_STRING. Si
PGSQL_DML_STRING forma parte del parámetro
flags, entonces la consulta será retornada.
Cuando la constante PGSQL_DML_NO_CONV o la constante
PGSQL_DML_ESCAPE está definida, no se realizará ninguna llamada a la función
pg_convert internamente.
&reftitle.returnvalues;
&return.success;. O retorna un &string; si PGSQL_DML_STRING
es proporcionado a través de flags.
&reftitle.errors;
Se lanza una ValueError cuando la tabla especificada es inválida.
Se lanza una ValueError o TypeError cuando
el valor o el tipo del campo no coincide correctamente con un tipo PostgreSQL.
&reftitle.changelog;
&Version;
&Description;
8.3.0
Ahora lanza un error ValueError cuando la tabla especificada es inválida;
anteriormente, se emitía un E_WARNING.
8.3.0
Ahora lanza un error ValueError o TypeError
cuando el valor o el tipo del campo no coincide correctamente con un tipo PostgreSQL;
anteriormente, se emitía un E_WARNING.
&pgsql.changelog.return-result-object;
&pgsql.changelog.connection-object;
&reftitle.examples;
Ejemplo con pg_insert
]]>
&reftitle.seealso;
pg_convert