Sybase 12.4.2 Server User Manual


 
CHAPTER 5 Moving Data In and Out of Databases
191
• For
DATE, TIME, and TIMESTAMP or DATETIME columns, you must use a
specific format. See “Converting data on insertion” for information on
data type conversions. See the Adaptive Server IQ Reference Manual for
a complete description of Adaptive Server IQ data types.
Note The TIMESTAMP and DATETIME data types are identical.
Allowing NULL values
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.
Adaptive Server 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.
Example
The following example adds 1995-06-09 into the l_shipdate column and 123
into the
l_orderkey column in the lineitem table.
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.
Inserting selected rows from the database
To insert data from other tables in the current database, or from a database that
is defined as a Specialty Data Store to Adaptive Server IQ, use this syntax:
INSERT [ INTO ]
[
owner
.]
table_name
[ (
column-name
,...) ]
[
insert-load-options
]...
select-statement
insert-load-options:
LIMIT
number-of-rows
NOTIFY
number-of-rows