■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
フォワードエンジニアリングのSQL出力の不具合
2017/03/17 15:08
OBER
1
OBER初心者
お世話になります。
フォワードエンジニアリングのSQL出力についてです。
あるエンティティ「USER_TBL」に対して
SQL出力を行うと以下のようなSQLが出力されます。
===================================================
CREATE TABLE USER_TBL
(
USER_ID CHAR(5) NOT NULL,
USER_CODE CHAR(5) NOT NULL,
REG_DTTM TIMESTAMP(6)
)
PCTFREE 10
MAXTRANS 255
TABLESPACE USERS
STORAGE(INITIAL 64K NEXT 1024K MINEXTENTS 1 MAXEXTENTS UNLIMITED BUFFER_POOL DEFAULT)
NOCACHE
NOLOGGING
/
ALTER TABLE USER_TBL
ADD(CONSTRAINT SYS_C0018242 PRIMARY KEY (USER_ID, USER_CODE) USING INDEX)
/
CREATE UNIQUE INDEX XPKUSER_TBL
ON USER_TBL (USER_ID, USER_CODE)
PCTFREE 10
INITRANS 2
MAXTRANS 255
TABLESPACE USERS
STORAGE(INITIAL 64K NEXT 1024K MINEXTENTS 1 MAXEXTENTS UNLIMITED BUFFER_POOL DEFAULT)
NOLOGGING
/
===================================================
出力されたままのSQLを実行するとエラーになります。
理由は、
CREATE、ALTER、CREATE の順に出力されているので
3つのCREATEがエラーになってしまいます。
上記の3つのDDL文の
2つ目と3つ目を入れ替えて実行すると、正しく実行されます。
OBERのSQL出力を
CREATE、ALTER、CREATE の順ではなく
CREATE、CREATE、ALTER の順に出力するように
改修等の対応をお願い致します。
フォワードエンジニアリングのSQL出力についてです。
あるエンティティ「USER_TBL」に対して
SQL出力を行うと以下のようなSQLが出力されます。
===================================================
CREATE TABLE USER_TBL
(
USER_ID CHAR(5) NOT NULL,
USER_CODE CHAR(5) NOT NULL,
REG_DTTM TIMESTAMP(6)
)
PCTFREE 10
MAXTRANS 255
TABLESPACE USERS
STORAGE(INITIAL 64K NEXT 1024K MINEXTENTS 1 MAXEXTENTS UNLIMITED BUFFER_POOL DEFAULT)
NOCACHE
NOLOGGING
/
ALTER TABLE USER_TBL
ADD(CONSTRAINT SYS_C0018242 PRIMARY KEY (USER_ID, USER_CODE) USING INDEX)
/
CREATE UNIQUE INDEX XPKUSER_TBL
ON USER_TBL (USER_ID, USER_CODE)
PCTFREE 10
INITRANS 2
MAXTRANS 255
TABLESPACE USERS
STORAGE(INITIAL 64K NEXT 1024K MINEXTENTS 1 MAXEXTENTS UNLIMITED BUFFER_POOL DEFAULT)
NOLOGGING
/
===================================================
出力されたままのSQLを実行するとエラーになります。
理由は、
CREATE、ALTER、CREATE の順に出力されているので
3つのCREATEがエラーになってしまいます。
上記の3つのDDL文の
2つ目と3つ目を入れ替えて実行すると、正しく実行されます。
OBERのSQL出力を
CREATE、ALTER、CREATE の順ではなく
CREATE、CREATE、ALTER の順に出力するように
改修等の対応をお願い致します。
返信を投稿
OBER
OBサポート
こんにちは。OBサポートです。
ご投稿いただいたようなテーブル設計に対する考慮が不足していたため、
該当の事象が発生する状態となっておりました。
現状大変申し訳ございませんが、有効な回避策がございませんので、
SQL出力後に手動で修正していただく方法でご検討いただけますでしょうか。
本件につきましては、すでに開発側にも伝えておりますので、
今後のバージョンアップにて改善を検討させてただきます。
以上、よろしくお願いいたします。
ご投稿いただいたようなテーブル設計に対する考慮が不足していたため、
該当の事象が発生する状態となっておりました。
現状大変申し訳ございませんが、有効な回避策がございませんので、
SQL出力後に手動で修正していただく方法でご検討いただけますでしょうか。
本件につきましては、すでに開発側にも伝えておりますので、
今後のバージョンアップにて改善を検討させてただきます。
以上、よろしくお願いいたします。
返信を投稿
OBER