Skip to Content

Powerdesigner, double quotes issue

The scripts generated by our data model are used across many Oracle DB instances, where the tablespace names are specific to the instance in question. To facilitate this, our tablespace names in the model are prefixed with ampersand (&) or double &&, e.g. &&TABLESPACE_DATA or &&TABLESPACE_INDEX. Ampersand is how you get Oracle's SQL running tool, SQL * Plus to prompt for substitution - allowing us to enter the instance specific name. We added ampersand to the allowed chars for CODE in Tools|Model Options|Naming Convention, but the problem is PD seems to double quote ampersand prefixed names / codes, which is undesirable as double quotes mean any reference to the tablespace in Oracle has to be double quoted - Oracle is case insensitive unless things are double quoted.

What setting can we use to prevent PD from apply double quoting to ampersand prefixed names/codes?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Dec 13, 2018 at 12:06 AM

    You can modify the Oracle DBMS (XDB) file and remove the ampersand (&) from the list of Illegal Characters

    1. Make a copy of the Oracle DBMS file. For example, ORACLE Version 12c MOD
    2. Navigate to the :Script\Sql\Format\IllegalChar item
    3. Remove the ampersand from the list of values
      Before : "\ +-*/!=&<>'"()".@
      After: "\ +-*/!=<>'"()".@

    After this change, here is the DDL generated by PD:

    drop tablespace &&TABLESPACE_1 including contents cascade constraints;

    create tablespace &&TABLESPACE_1;



    Add comment
    10|10000 characters needed characters exceeded