Generating for SQL

The following topics provide necessary knowledge on Generating for SQL.

With the function Generate SQL Create Statements you can generate CREATE TABLE or CREATE VIEW statements. For Adabas SQL Server you can generate CREATE TABLE DESCRIPTION and CREATE CLUSTER DESCRIPTIONS. These SQL statements are stored as Natural members.

This document covers the following topics:


Calling the Function

The Generate SQL Create Statements screen is called with function code G and object code CR in a Predict main menu or with the command GENERATE CR.

13:13:49             *****  P R E D I C T  *****              2007-05-31
Plan   0             - Generate SQL Create Statements -                        
                                                                               
File ID ..................*                                                    
SQL Server ...............*                                  <Default Server>  
                                                                               
Save as member ............             Save in library ........... CRELIB     
Overwrite option .......... Y  (Y,N)    Op. system member .........            
Punch / output ...........* N                                                  
                                                                               
List generated code ....... Y  (Y,N)                                           
                                                                               
Truncate creator .......... N  (Y,N)    Label on .................. Y  (Y,N)   
Generate defaults ......... Y  (Y,N)    Comment on ................ Y  (Y,N)   
Generate procedures ....... Y  (Y,N)                                           
Generate indexes .......... Y  (Y,N)    Defer option for indexes .* N          
                                                                               
                                                                               
                                                                               
                                                                               
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Help  Next  Stop  Last  LnkEl Flip  Print Impl  AdmFi SelFi Prof  Main   

Parameters

Values for fields which have been locked by your data dictionary administrator cannot be overwritten. These fields are skipped when positioning the cursor with the TAB key. See Generation Defaults.

Parameters
The parameters Save as member, Save in library, Overwrite option and Op. system member, Punch/output and List generated code are described in the section Generation Defaults. The parameter SQL Server is described in Common Parameters for All DB2 Types. The parameter SQL Server only applies to files of type D and E (DB2 tables and views).
File ID
ID of the Predict file object from which the CREATE statement is to be generated.Enter an asterisk to display a selection screen. Alternatively, use an asterisk as a wildcard. For example, enter A* to display IDs beginning with A only.
CREATE statements can be generated from the following file types:
A, B (with parameter Adabas SQL usage set to Y) Adabas tables and views
AT Adabas table clusters
D, E DB2 tables and views
BT, BV Adabas D tables and views
JT, JV Ingres tables and views
OT, OV Oracle tables and views
XT, XV Informix tables and views
YT, YV Sybase tables and views
X General SQL file
Truncate creator
Y The creator is truncated from all object names in the CREATE statement.
For DB2 CREATE statements: If parameter Generate indexes is set to Y, the creator is truncated in the generated distinct types and indexes, too.
Generate indexes
Y Only applicable to DB2: CREATE INDEX statements are also generated.
Generate defaults
Y For Sybase tables: If default values have been specified in Predict for fields in the file, the following statements are generated:
  • create default

  • sp_binddefault

For other SQL systems: A corresponding DEFAULT clause is generated as part of the generated CREATE TABLE statement. If a default for non-null values has been specified in Predict for fields in the file, this value is used in the generated CREATE statement.
Generate procedures
Only applicable to Sybase, Informix and Ingres tables if triggers are defined and linked to the corresponding file object in Predict via "Has TR" or to field of the file via "Triggered by TR" and these triggers contain references to procedures.
Y For Sybase, Informix and Ingres tables, the statement CREATE PROCEDURE is also generated.
Label on
Y The string specified in the Predict field attribute Header1 is used as label for the columns (SQL statement LABEL ON).
Comment on
Y The first eight abstract lines of the field and file objects in Predict are entered as comments for the columns and the table (SQL Statement COMMENT ON).
Defer option for indexes
Y The SQL statement CREATE INDEX is generated with the clause DEFER YES.
N The SQL statement CREATE INDEX is generated without the clause DEFER YES.
S A list containing all indexes is displayed. Enter Y for indexes which you would like to generate with the DEFER YES clause.
If you enter N or leave the field blank, the CREATE INDEX statement is generated without this clause.
Generate Adabas dialect This parameter can only be set in the Generation Defaults screen for object type SQL Create Statement (CR).

Generating SQL CREATE Statements in Batch Mode

Command: GENERATE SQL-CREATE

Enter parameters on next line in positional or keyword form. File ID is obligatory, all other parameters are optional.

Field Keyword Position
File ID FILE-ID 1
Save as member MEM 2
Save in library LIB 3
Overwrite option REP-OPT 4
Op. system member OS-MEMBER 5
Punch / output PUNCH 6
Truncate creator TRUNC-CREATOR 7
Generate defaults DEFAULTS 8
Generate procedures PROCEDURES 9
Generate indexes INDEX 10
Label on LABEL 11
Comment on COMMENT 12
Defer option for indexes DEFER 13
If you are working with Entire System Server  
- DB-ID NP-DBID 14
- Data set NP-DSNAME 15
- Volume NP-VOLSER 16
- Library NP-LIB 17
- Sublibrary NP-SUBLIB 18
- Member type NP-MEMTYPE 19
- VSAM catalog NP-VSAMCAT 20

If a parameter is not specified, the default value is taken.

Sample Output

File ID .. DSN8230-EMPPROJACT

CREATE TABLE DSN8230.EMPPROJACT
   (EMPNO                    CHAR(6)          FOR SBCS DATA
                                              NOT NULL,
    PROJNO                   CHAR(6)          FOR SBCS DATA
                                              NOT NULL,
    ACTNO                    SMALLINT         NOT NULL,
    EMPTIME                  DECIMAL(5, 2),
    EMSTDATE                 DATE,
    EMENDATE                 DATE,
    UNIQUE (     PROJNO,
                 ACTNO,
                 EMSTDATE,
                 EMPNO),
    FOREIGN KEY REPAE    (EMPNO)
      REFERENCES DSN8230.EMP ON DELETE RESTRICT,
    FOREIGN KEY REPAPA   (PROJNO,
                          ACTNO,
                          EMSTDATE)
      REFERENCES DSN8230.PROJACT ON DELETE RESTRICT)
   IN DATABASE DSN8D23A
   AUDIT NONE
   DATA CAPTURE NONE;
CREATE INDEX DSN8230.XEMPPROJACT2
   ON DSN8230.EMPPROJACT
      (EMPNO                       ASC)
   USING STOGROUP DSN8G230
      PRIQTY 12
      SECQTY 12
      ERASE NO
   PCTFREE 10
   SUBPAGES 8
   BUFFERPOOL BP0
   CLOSE NO;
CREATE UNIQUE INDEX DSN8230.XEMPPROJACT1
   ON DSN8230.EMPPROJACT
      (PROJNO                      ASC,
       ACTNO                       ASC,
       EMSTDATE                    ASC,
       EMPNO                       ASC)

   USING STOGROUP DSN8G230
      PRIQTY 12
      SECQTY 12
      ERASE NO
   PCTFREE 10
   SUBPAGES 8
   BUFFERPOOL BP0
   CLOSE NO;

DIC1800 SUMMARY:    16 FIELD(S) PROCESSED