To add specified values to a table row by row, use Syntax 1 for the INSERT statement.
Sybase IQ inserts the first value you specify into the first column you specify, the second value you specify into the second column, and so on. If you omit the list of column names, the values are inserted into the table columns in the order in which the columns were created (the same order as SELECT * would retrieve). Sybase IQ inserts the row into the table wherever room is available.
Enclose values for CHAR, VARCHAR, DATE, TIME, and TIMESTAMP or DATETIME columns in single or double quotation marks. To indicate a value with a quotation in it use a different set of quotes for the outer quote, such as “Smith' s”.
For DATE, TIME, and TIMESTAMP or DATETIME columns, you must use a specific format.
When you specify values for only some of the columns in a row, NULL is inserted for columns with no value specified, if the column allows NULL.
If you specify a NULL value, the destination column must allow NULLs, or the INSERT is rejected and an error message is produced in the message log. Sybase IQ columns allow NULLs by default, but you can alter this by specifying NOT NULL on the column definition in the CREATE TABLE statement or in other ways, such as using a primary key, for example.
INSERT INTO lineitem (l_shipdate, l_orderkey) VALUES('1995-06-09', 123)
If you are inserting more than a small number of data rows, it is more efficient to insert selected rows directly from a database, as described in the next section, or to load data from a flat file with the LOAD TABLE statement, than to insert values row by row. Consider using a select statement with a few unions instead of inserting values for a few rows, because this requires only a single trip to the server.