Entering Data into Tables [ Up and Running with ALLBASE/SQL ] MPE/iX 5.0 Documentation
Up and Running with ALLBASE/SQL
Entering Data into Tables
Once you have created tables, you can get data into them in several ways.
Try the following two methods:
* The SQL INSERT command.
* The ISQL LOAD command.
Entering Data with the SQL INSERT Command
Use the SQL INSERT command to add rows to the tables you have created.
Try the following entry for the Albums table:
isql=> INSERT INTO Albums Return
> VALUES (2001, Return
> 'Serenades from the 17th Century', Return
> 'ca', 30.82, Return
> 'philips', '1988-12-18', Return
> '3456-AB-0998LS', Return
> 'Authentic original instruments'); Return
If the command does not complete successfully, check all your punctuation
carefully, and try again. When finished, COMMIT WORK.
Next, use the INSERT command to add the following row to the Titles table
(you need to build the INSERT command yourself):
AlbumCode: 2001
Selection: 'La Bella Musica'
Composer: 'Palestrina'
Timing: '0 00:21:12.000'
Performers: 'Ancient Music Group'
Comment: 'Lute improvisations'
Note that INSERT is an SQL command that processes a single row of data at
a time. If you want to insert many rows at a time, use an application
program of your own design, or else try the ISQL LOAD command, explained
below.
Entering Data with the ISQL LOAD Command
Use the ISQL LOAD command to insert data from an ordinary file into your
tables. Two kinds of LOAD operation are possible:
* LOAD INTERNAL.
* LOAD EXTERNAL.
The next sections show an example of each.
NOTE The sample external and internal files described in the next few
paragraphs are available on MPE XL 3.0 or later systems and on
HP-UX 8.0 or later systems. If you are using an earlier version of
ALLBASE/SQL, you should skip ahead to the section entitled
"Performing Queries."
LOADing from an INTERNAL File.
You use the LOAD command with the INTERNAL option to load data from a
file in INTERNAL format previously created by ISQL's UNLOAD command.
Your system contains an INTERNAL file with data for the Titles table. In
MPE XL, it is called TITLE.SAMPLEDB.SYS; in HP-UX, it is called
/usr/lib/allbase/hpsql/sampledb/title. From ISQL, issue the apppriate
command for your system:
On MPE XL:
isql=> LOAD FROM INTERNAL Return
> TITLE.SAMPLEDB.SYS Return
> TO Titles; Return
On HP-UX:
isql=> LOAD FROM INTERNAL Return
> /usr/lib/allbase/hpsql/sampledb/Title Return
> TO Titles; Return
As loading progresses, messages tell you how many rows have been
processed.
NOTE If you are loading a large file, be sure to set ISQL's AUTOCOMMIT
function to ON. For information, type HELP SET AUTOCOMMIT at the
ISQL prompt. For the present examples, AUTOCOMMIT is not needed.
LOADing from an EXTERNAL File.
Use the LOAD command with the EXTERNAL option to load data from plain
ASCII files into a table. You must enter the names of the columns in the
table you are loading into and the starting location in the file where
each data item starts, together with the data item's length. If the
column permits null values, the data file must contain null indicator
characters for any entry that is null. In the following example, the
question mark (?) is used as a null indicator.
From ISQL, issue one of the following commands, as appropriate for your
system. Be sure to type exactly.
On MPE XL:
isql=> LOAD FROM EXTERNAL Return
> ALBUM.SAMPLEDB.SYS to Albums Return
> AlbumCode 1 4 Return
> AlbumTitle 13 40 Return
> Medium 53 2 ? Return
> AlbumCost 55 6 ? Return
> RecordingCo 61 10 Return
> DateRecorded 71 10 ? Return
> MfgCode 89 40 ? Return
> Comment 137 80 ? Return
> END; Return
On HP-UX:
isql=> LOAD FROM EXTERNAL Return
> /usr/lib/allbase/hpsql/sampledb/Album Return
> to Albums Return
> AlbumCode 1 4 Return
> AlbumTitle 13 40 Return
> Medium 53 2 ? Return
> AlbumCost 55 6 ? Return
> RecordingCo 61 10 Return
> DateRecorded 71 10 ? Return
> MfgCode 89 40 ? Return
> Comment 137 80 ? Return
> END; Return
After you have entered the column descriptions, ISQL prompts you as
follows:
Load depending on value in input record (Y/N)>
Reply N to load all the values in the file. When the command completes,
issue a COMMIT WORK command:
isql=> commit work; Return
Note that the starting columns for each field of data are determined by
the actual position of the data in the file itself. Thus, using EXTERNAL
files, it is possible to load selected parts of each record.
For complete information about loading tables from INTERNAL and EXTERNAL
files, refer to the ALLBASE/ISQL Reference Manual.
MPE/iX 5.0 Documentation