RUNSQLSTM – Run SQL Statement
When you do the RUNSQLSTM to create your SQL Objects – Do not qualify library names but use the Turnover variables just like you would define PDM variables:
? RUNSQLSTM SRCFILE("&SL"/"&SF" SRCMBR("&SM") COMMIT(*NONE) NAMING(*SYS) DFTRDBCOL("&LI")
Turnover uses the DFTRDBCOL column “&LI” to populate the other *library* variables.
Most shops I’ve been to use QSQLSRC to store the SQL definitions then use RUNSQLSTM to “compile” the source. Make sure you use a semi colon between each SQL statement.
I prefer to break source out into separate files for each type:
- QSQLTBLSRC for SQL tables
- QSQLIDXSRC for SQL indexes (aka indices)
- QSQLVIEWSRC for SQL views
NOTE: These alternate source file names are completely optional.
Source members are named and commented like any other source member. It’s neat — get in the habit. 😉
All code changes are promoted and managed by Turnover.
Remember, first use a DROP TABLE statement to drop the table (which deletes its data and its DB2 dependencies). Then a CREATE TABLE statement for all columns, including CONSTRAINTS (Primary Key, Foreign Key, CASCADE’s if any, etc.).
Our standards also then have a CREATE UNIQUE INDEX statement for the keys, to start off the QRYMGR in the right direction.
Dont forget to take advantage of ALTER – for those times that you don’t want to DROP and CREATE columns or attributes then use ALTER TABLE statements to add columns and/or attributes without killing the table or its data.