class SQLInsert extends SQLExpression implements SQLWriteExpression

Object representing a SQL INSERT query.

The various parts of the SQL query can be manipulated individually.

Methods

__get($field) deprecated

No description

__set($field, $value) deprecated

No description

replaceText(string $old, string $new)

Swap some text in the SQL query with another.

string
__toString()

Return the generated SQL string for this query

renameTable(string $old, string $new)

Swap the use of one table with another.

bool
isEmpty()

Determine if this query is empty, and thus cannot be executed

string
sql(array $parameters = array())

Generate the SQL statement for this query.

execute()

Execute this query.

static SQLInsert
create(string $into = null, array $assignments = array())

Construct a new SQLInsert object

__construct(string $into = null, array $assignments = array())

Construct a new SQLInsert object

setInto(string $into)

Sets the table name to insert into

string
getInto()

Gets the table name to insert into

addRow(array|SQLAssignmentRow $data = null)

Appends a new row to insert

array[SQLAssignmentRow]
getRows()

Returns the current list of rows

array
getColumns()

Returns the list of distinct column names used in this insert

setRows(array $rows)

Sets all rows to the given array

addRows(array $rows)

Adds the list of rows to the array

currentRow(boolean $create = false)

Returns the currently set row

addAssignments(array $assignments)

Adds assignments for a list of several fields.

setAssignments(array $assignments)

Sets the list of assignments to the given list

array
getAssignments()

Retrieves the list of assignments in parameterised format

assign(string $field, mixed $value)

Set the value for a single field

assignSQL(string $field, string $sql)

Assigns a value to a field using the literal SQL expression, rather than a value to be escaped

clearRow()

Clears all currently set assigment values on the current row

clear()

Clears all rows

Details

in SQLExpression at line 29
__get($field) deprecated

deprecated since version 4.0

Parameters

$field

in SQLExpression at line 37
__set($field, $value) deprecated

deprecated since version 4.0

Parameters

$field
$value

in SQLExpression at line 52
replaceText(string $old, string $new)

Swap some text in the SQL query with another.

Note that values in parameters will not be replaced

Parameters

string $old The old text (escaped)
string $new The new text (escaped)

in SQLExpression at line 64
string __toString()

Return the generated SQL string for this query

Return Value

string

in SQLExpression at line 82
renameTable(string $old, string $new)

Swap the use of one table with another.

Parameters

string $old Name of the old table (unquoted, escaped)
string $new Name of the new table (unquoted, escaped)

at line 70
bool isEmpty()

Determine if this query is empty, and thus cannot be executed

Return Value

bool Flag indicating that this query is empty

in SQLExpression at line 101
string sql(array $parameters = array())

Generate the SQL statement for this query.

Parameters

array $parameters Out variable for parameters required for this query

Return Value

string The completed SQL query

in SQLExpression at line 119
SS_Query execute()

Execute this query.

Return Value

SS_Query

at line 33
static SQLInsert create(string $into = null, array $assignments = array())

Construct a new SQLInsert object

Parameters

string $into Table name to insert into (ANSI quoted)
array $assignments List of column assignments

Return Value

SQLInsert

at line 43
__construct(string $into = null, array $assignments = array())

Construct a new SQLInsert object

Parameters

string $into Table name to insert into (ANSI quoted)
array $assignments List of column assignments

at line 56
SQLInsert setInto(string $into)

Sets the table name to insert into

Parameters

string $into Single table name (ANSI quoted)

Return Value

SQLInsert The self reference to this query

at line 66
string getInto()

Gets the table name to insert into

Return Value

string Single table name

at line 80
SQLInsert addRow(array|SQLAssignmentRow $data = null)

Appends a new row to insert

Parameters

array|SQLAssignmentRow $data A list of data to include for this row

Return Value

SQLInsert The self reference to this query

at line 100
array[SQLAssignmentRow] getRows()

Returns the current list of rows

Return Value

array[SQLAssignmentRow]

at line 109
array getColumns()

Returns the list of distinct column names used in this insert

Return Value

array

at line 123
SQLInsert setRows(array $rows)

Sets all rows to the given array

Parameters

array $rows the list of rows

Return Value

SQLInsert The self reference to this query

at line 133
SQLInsert addRows(array $rows)

Adds the list of rows to the array

Parameters

array $rows the list of rows

Return Value

SQLInsert The self reference to this query

at line 144
SQLAssignmentRow|false currentRow(boolean $create = false)

Returns the currently set row

Parameters

boolean $create Flag to indicate if a row should be created if none exists

Return Value

SQLAssignmentRow|false The row, or false if none exists

at line 152
SQLWriteExpression addAssignments(array $assignments)

Adds assignments for a list of several fields.

For multi-row objects this applies this to the current row.

Note that field values must not be escaped, as these will be internally parameterised by the database engine.

// Basic assignments $query->addAssignments(array( '"Object"."Title"' => 'Bob', '"Object"."Description"' => 'Bob was here' ))

// Parameterised assignments $query->addAssignments(array( '"Object"."Title"' => array('?' => 'Bob')), '"Object"."Description"' => array('?' => null)) ))

// Complex parameters $query->addAssignments(array( '"Object"."Score"' => array('MAX(?,?)' => array(1, 3)) ));

// Assigment of literal SQL for a field. The empty array is // important to denote the zero-number paramater list $query->addAssignments(array( '"Object"."Score"' => array('NOW()' => array()) ));

Parameters

array $assignments The list of fields to assign

Return Value

SQLWriteExpression Self reference

at line 157
SQLWriteExpression setAssignments(array $assignments)

Sets the list of assignments to the given list

For multi-row objects this applies this to the current row.

Parameters

array $assignments

Return Value

SQLWriteExpression Self reference

at line 162
array getAssignments()

Retrieves the list of assignments in parameterised format

For multi-row objects returns assignments for the current row.

Return Value

array List of assigments. The key of this array will be the column to assign, and the value a parameterised array in the format array('SQL' => array(parameters));

at line 166
SQLWriteExpression assign(string $field, mixed $value)

Set the value for a single field

For multi-row objects this applies this to the current row.

E.g.

// Literal assignment $query->assign('"Object"."Description"', 'lorum ipsum'));

// Single parameter $query->assign('"Object"."Title"', array('?' => 'Bob'));

// Complex parameters $query->assign('"Object"."Score"', array('MAX(?,?)' => array(1, 3));

Parameters

string $field The field name to update
mixed $value The value to assign to this field. This could be an array containing a parameterised SQL query of any number of parameters, or a single literal value.

Return Value

SQLWriteExpression Self reference

at line 171
SQLWriteExpression assignSQL(string $field, string $sql)

Assigns a value to a field using the literal SQL expression, rather than a value to be escaped

For multi-row objects this applies this to the current row.

Parameters

string $field The field name to update
string $sql The SQL to use for this update. E.g. "NOW()"

Return Value

SQLWriteExpression Self reference

at line 181
SQLInsert clearRow()

Clears all currently set assigment values on the current row

Return Value

SQLInsert The self reference to this query

at line 191
SQLInsert clear()

Clears all rows

Return Value

SQLInsert The self reference to this query