March 4

0 comments

Upgrade from PF to DDL (SQLSTM) using TURNOVER from UNICOM SOFTLANDING

By NickLitten

March 4, 2016

modernization, db2, DDL, PF, SQL, sqlstm

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.

   DFTRDBCOL(NLITTEN)

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.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Join the IBM i Community for FREE Presentations, Lessons, Hints and Tips

>