cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

Hi,

using DB2MVS11 (DB2 for z/OS v11) datasource. If a table will be renamed PowerDesigner is generating scripts like

...
drop table "tmp_TABLETT";
rename table TABLETT to "tmp_TABLETT";
...
insert into TABLETTSSS (C1, C2)
select C1, C2
from "tmp_TABLETT";

Searching for the definition of the rename table syntax I found
rename [table ][%OLDQUALIFIER%]%OLDTABL% to %NEWTABL%

So the %NEWTABL% will be taken from the %OLDTABL% by adding a "tmp_" prefix. Do we have the possiblity to change "tmp_" to another value and maybe restrict the length of %NEWTABL% to 15 characters in all Statements (DROP, RENAME, and INSERT)?

If I only modify %NEWTABL% variable with %[[?][-][<x>][.[-]<y>][<options>]:]<variable>% syntax only the rename table statement will be changed. Drop and Iinsert stay at "tmp_TABLETT".

Many thanks

Robert

0 Likes
View Entire Topic
robert_kratschmann
Participant
0 Likes

Hi George,

using

.if %.5:NEWTABL% == "tmp_
rename [table ][%OLDQUALIFIER%]%OLDTABL% to drp_%OLDTABL%
.else
rename [table ][%OLDQUALIFIER%]%OLDTABL% to %NEWTABL%
.endif

will lead into the following SQL script to rename the TABLETT Table:

alter table TABLETT drop primary key;
drop index INDEX_1;
drop table "tmp_TABLETT";
rename table TABLETT to drp_TABLETT;
create table ...
insert into TABLETTSSSS (C1, C2) select C1, C2 from "tmp_TABLETT";


On one position the drp_TABLETT will be used but on all other positions he'll use tmp_TABLETT instead of dmp_TABLETT. I think the variable %NEWTABL% must be set qlobal?

Robert