SQL data types and corresponding EASYTRIEVE PLUS field definitions | |
---|---|
SQL Data Type | EASYTRIEVE PLUS Field Definition |
INTEGER | 4 B 0 |
SMALLINT | 2 B 0 |
FLOAT | none |
DECIMAL (precision,scale) | x P y - Note 1 |
CHAR (length) | x A |
CHAR (length) | x M |
VARCHAR | x A VARYING |
VARCHAR | x M VARYING |
LONG VARCHAR | x A VARYING |
LONG VARCHAR | x M VARYING |
GRAPHIC (length) | x K - Note 2 |
VARGRAPHIC | x K VARYING |
LONG VARGRAPHIC | x K VARYING |
DATE | 10 A |
TIME | 8 A |
TIMESTAMP | 26 A |
NULL indicator variables | 2 B 0 |
none | x N y |
none | x B y - Note 3 |
none | x U y |
|
EASYTRIEVE PLUS SQL Control Statements | |
---|---|
The following statements define data base activities: | |
SELECT statement | - describes automatic table processing. |
SQL statement | - provides controlled retrieval and maintenance. |
FILE statement with SQL keyword | - both automatic and controlled. |
The following syntax rules apply to SQL statements (SQL and SELECT): | |
| |
Processing Overview |
---|
Automatic Processing |
* * * WORKING STORAGE * * * W-ACTNO W 002 B 0 W-ACTKWD W 006 A W-ACTDESC W 020 A VARYING *********************************************************************** JOB INPUT SQL SELECT ACTNO, + ACTKWD, + ACTDESC + FROM DSN8310.ACT + INTO :W-ACTNO, + :W-ACTKWD, + :W-ACTDESC PRINT RPT1 |
Controlled Processing |
SQL DECLARE ACT CURSOR FOR + SELECT ACTNO, + ACTKWD, + ACTDESC + FROM DSN8310.ACT FILE PRTFL01 PRINTER * * * WORKING STORAGE * * * W-ACTNO W 002 B 0 W-ACTKWD W 006 A W-ACTDESC W 020 A VARYING ************************************************************************ JOB INPUT NULL SQL OPEN ACT PERFORM CHECKSQL DO WHILE SQLCODE NE 100 SQL FETCH ACT INTO :W-ACTNO, :W-ACTKWD, :W-ACTDESC PERFORM CHECKSQL IF SQLCODE NE 100 PRINT RPT1 END-IF END-DO SQL CLOSE ACT PERFORM CHECKSQL STOP ************************************************************************ * CHECK THE SQLCODE ************************************************************************ CHECKSQL. PROC IF SQLCODE NE 0 AND + SQLCODE NE 100 DISPLAY 'SQL ERROR ' SQLCODE STOP EXECUTE END-IF END-PROC |
The interface returns column names and data types from a particular SQL table or view. This information is then used to automatically generate EASYTRIEVE PLUS field definitions.
Heading and mask information are not retrieved from the catalog.
SQL INCLUDE Statement
SQL INCLUDE FROM DSN8310.ACT FILE PRTFL01 PRINTER ********************************************************************** JOB INPUT SQL SELECT ACTNO, + ACTKWD, + ACTDESC + FROM DSN8310.ACT + INTO :ACTNO, + :ACTKWD, + :ACTDESC
SQL INCLUDE FROM DSN8310.ACT FILE PRTFL01 PRINTER ********************************************************************* JOB INPUT SQL SELECT * + FROM DSN8310.ACT + INTO :ACT
FILE filename SQL [(select-clause)] [DEFER]
{filename} JOB INPUT {SQL } .... { }
SQL DECLARE cursor-name CURSOR FOR select-clause
SQL OPEN cursor-name
SQL FETCH cursor-name INTO :host-variable [, :host-variable...]
SQL CLOSE cursor-name
SQL COMMIT
SQL ROLLBACK
SQL DELETE FROM table-name [correlation-name] + [WHERE {search-condition }] [ {CURRENT OF cursor-name}]
SQL INSERT INTO table-name + [(column-name [, column-name] ...] + VALUES {constant } [ {constant } ] ( {host-variable} [, {host-variable} ... ]
SQL UPDATE table-name [correlation-name] + SET column-name = {expression} + [, column-name = {expression} ... ] + [WHERE {search-condition} ]
GET filename [STATUS]
When an SQL filename is specified on a GET statement, an SQL FETCH statement is issued, and the next available row is returned from the SQL cursor. The STATUS keyword returns the SQLCODE in the system-defined field FILE-STATUS (defined as 4 B 0). If STATUS is not coded, FILE-STATUS contains zeros. To use an SQL filename on GET, code the select-clause on the FILE statement.
Additional Examples |
---|
SPUFI Exercise Sample Program 2 |
SQL INCLUDE FROM SCTINST.HRS_ACCT_DIST_TB FILE PRTFL01 PRINTER *********************************************************************** JOB INPUT SQL SELECT EMP_ID, + ACCT_NUM + FROM SCTINST.HRS_ACCT_DIST_TB + WHERE CD_NUM = 1 + INTO :EMP_ID, + :ACCT_NUM PRINT RPT1 *********************************************************************** REPORT RPT1 PRINTER PRTFL01 TITLE 01 'AUBURN UNIVERSITY ADMINISTRATIVE COMPUTING SERVICES' TITLE 02 'SPUFI EXERCISE SAMPLE PROGRAM 2' TITLE 03 'SELECTED DATA FROM SCTINST.HRS_ACCT_DIST_TB' TITLE 04 'PGM=EZDBK05A' LINE 01 EMP_ID + ACCT_NUM |
Example of selecting (joining) data from two tables |
FILE PRTFL01 PRINTER * * * WORKING STORAGE * * * W-ID W 009 A W-FNAME W 015 A W-LNAME W 025 A W-ACCTNUM W 010 A W-HOME3 W 025 A ************************************************************************ JOB INPUT SQL SELECT X.EMP_ID, + ACCT_NUM, + EMP_FIRST_NAME, + EMP_LAST_NAME + FROM SCTINST.HRS_ACCT_DIST_TB X, + SCTINST.HRS_EMP_ROOT_TB Y + WHERE CD_NUM = 1 AND + X.EMP_ID = Y.EMP_ID + ORDER BY EMP_LAST_NAME, + EMP_FIRST_NAME + INTO :W-ID, + :W-ACCTNUM, + :W-FNAME, + :W-LNAME |
Example of selecting (joining) data from two tables |
SQL INCLUDE FROM SCTINST.HRS_ACCT_DIST_TB SQL INCLUDE FROM SCTINST.HRS_EMP_ROOT_TB FILE PRTFL01 PRINTER *********************************************************************** JOB INPUT SQL SELECT X.EMP_ID, + ACCT_NUM, + EMP_FIRST_NAME, + EMP_LAST_NAME + FROM SCTINST.HRS_ACCT_DIST_TB X, + SCTINST.HRS_EMP_ROOT_TB Y + WHERE CD_NUM = 1 AND + X.EMP_ID = Y.EMP_ID + ORDER BY EMP_LAST_NAME, + EMP_FIRST_NAME + INTO :HRS_ACCT_DIST_TB.EMP_ID, + :ACCT_NUM, + :EMP_FIRST_NAME, + :EMP_LAST_NAME PRINT RPT1 ************************************************************************ * PRINT REPORT OF COMBINED DATA ************************************************************************ REPORT RPT1 PRINTER PRTFL01 TITLE 01 'AUBURN UNIVERSITY ADMINISTRATIVE COMPUTING SERVICES' TITLE 02 'SELECTED DATA FROM SCTINST.HRS_ACCT_DIST_TB' TITLE 03 'AND SCTINST.HRS_EMP_ROOT_TB' TITLE 04 'PGM = EZDBK06A' LINE 01 HRS_ACCT_DIST_TB:EMP_ID + ACCT_NUM + EMP_FIRST_NAME + EMP_LAST_NAME |
Example of selecting (joining) data from three tables |
JOB INPUT SQL SELECT X.EMP_ID, + ACCT_NUM, + EMP_FIRST_NAME, + EMP_LAST_NAME, + HOME_LINE3 + FROM SCTINST.HRS_ACCT_DIST_TB X, + SCTINST.HRS_EMP_ROOT_TB Y, + SCTINST.HRS_EMP_ADDR_TB Z + WHERE (CD_NUM = 1) AND + (X.EMP_ID = Y.EMP_ID AND + X.EMP_ID = Z.EMP_ID) + ORDER BY EMP_LAST_NAME, + EMP_FIRST_NAME + INTO :W-ID, + :W-ACCTNUM, + :W-FNAME, + :W-LNAME, + :W-HOME3 |
Example of SQL INCLUDE |
SQL INCLUDE FROM DSN8310.ACT FILE PRTFL01 PRINTER *********************************************************************** JOB INPUT SQL SELECT * + FROM DSN8310.ACT + INTO :ACT PRINT RPT1 *********************************************************************** REPORT RPT1 PRINTER PRTFL01 TITLE 01 'AUBURN UNIVERSITY ADMINISTRATIVE COMPUTING SERVICES' TITLE 02 'ALL COLUMNS FROM DSN8310.ACT - ACTIVITY TABLE' TITLE 03 'PGM=EZDBK10A' HEADING ACTNO ('ID') HEADING ACTKWD ('KEYWORD') HEADING ACTDESC ('DESCRIPTION') LINE 01 ACTNO + ACTKWD + ACTDESC |
Last Modified:
©2001 All Rights Reserved