Contents Index PRINT statement [T-SQL] RAISERROR statement [T-SQL]

ASA SQL Reference
  SQL Statements

PUT statement [ESQL]


Description 

Use this statement to insert a row into the specified cursor.

Syntax 

PUT cursor-name
USING DESCRIPTOR sqlda-name | FROM hostvar-list ]
INTO { DESCRIPTOR into-sqlda-name | into-hostvar-list } ]
ARRAY :nnn ]

cursor-name :  identifier or hostvar

sqlda-name :   identifier

hostvar-list : may contain indicator variables

Usage 

Inserts a row into the named cursor. Values for the columns are taken from the first SQLDA or the host variable list, in a one-to-one correspondence with the columns in the INSERT statement (for an INSERT cursor) or the columns in the select list (for a SELECT cursor).

The PUT statement can be used only on a cursor over an INSERT or SELECT statement that references a single table in the FROM clause, or that references an updateable view consisting of a single base table.

If the sqldata pointer in the SQLDA is the null pointer, no value is specified for that column. If the column has a DEFAULT VALUE associated with it, that will be used; otherwise, a NULL value will be used.

The second SQLDA or host variable list contains the results of the PUT statement.

The optional ARRAY clause can be used to carry out wide puts, which insert more than one row at a time and which may improve performance. The value nnn is the number of rows to be inserted. The SQLDA must contain nnn * (columns per row) variables. The first row is placed in SQLDA variables 0 to (columns per row)-1, and so on.

Inserting into a cursor 
For scroll (values sensitive) cursors, the inserted row will appear if the new row matches the WHERE clause and the keyset cursor has not finished populating. For dynamic cursors, if the inserted row matches the WHERE clause, the row may appear. Insensitive cursors cannot be updated.

For information on putting LONG VARCHAR or LONG BINARY values into the database, see SET statement.

Permissions 

Must have INSERT permission.

Side effects 

When inserting rows into a value-sensitive (keyset driven) cursor, the inserted rows appear at the end of the result set, even when they do not match the WHERE clause of the query or if an ORDER BY clause would normally have placed them at another location in the result set. For more information, see Modifying rows through a cursor.

See also 

UPDATE statement

UPDATE (positioned) statement [ESQL] [SP]

DELETE statement

DELETE (positioned) statement [ESQL] [SP]

INSERT statement

Standards and compatibility 
Example 

The following statement illustrates the use of PUT in Embedded SQL:

EXEC SQL PUT cur_employee FROM :emp_id, :emp_lname;

Contents Index PRINT statement [T-SQL] RAISERROR statement [T-SQL]