Sybase 12.4.2 User Manual

Page 221

Advertising
background image

CHAPTER 5 Moving Data In and Out of Databases

201

29 3 28 1376 3

200 4 13 119 4

59 5 9 4 5

(5 rows affected)

To ensure that the data from the second two columns is inserted into the same
rows as the first two columns, you must specify the row number in the

START

ROW ID

option on the

INSERT

command for the next two columns.

Using the FILLER
Option

The

FILLER

option tells Adaptive Server IQ which columns in the input file

to skip. This

LOAD TABLE

statement inserts NULLs into the second two

columns, because those columns are skipped. Note that these columns must
allow NULLs in order for this statement to work.

Example 3

For this next Windows NT example, assume the

partsupp

table has two

columns,

ps_partkey

and

ps_availqty

, and that

partsupp

is not part of any join

index.

The data for

ps_value

is calculated from

ps_availqty

so the

ps_availqty

column

must already contain data. Therefore, to insert data into the

partsupp

table, do

two inserts: one for

ps_availqty

and

ps_partkey

and then one for

ps_value

.

First, insert the data for

partsupp

directly from an ASCII file named tt.t.

LOAD TABLE partsupp

(ps_partkey ASCII(6),

ps_availqty ASCII(6),

FILLER(2))

FROM ’C:\\iq\\archive\\mill1.txt’

SELECT *, rowid(partsupp) FROM partsupp

ps_partkey ps_suppkey ps_availqty ps_value rowid(partsupp)

---------- ---------- ----------- -------- ---------------

213 NULL 190 NULL 1

24 NULL 215 NULL 2

(2 rows affected)

Next select the

ps_availqty

and do an 80% calculation. In this case you must use

an

INSERT

command to insert the results of a

SELECT

statement.

INSERT INTO partsupp(ps_value)

START ROW ID 1

SELECT ps_availqty * 0.80 FROM partsupp

SELECT *, rowid(partsupp) FROM partsupp

ps_partkey ps_suppkey ps_availqty ps_value rowid(partsupp)

---------- ---------- ----------- -------- ---------------

Advertising