■SI ObjectBrowser掲示板

ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!discussion
ユーザーのみなさま同士で教え合ったり、アドバイスしたりする暖かい交流の場にしたいと思っていますので、相互協力をよろしくお願いします。なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

※◆のカラーは投稿の対象となる製品に対応しています。【…OB …OBER …全般 ◇…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。




投稿No.8160
ツリー表示
2023/12/22 09:35:11
ハンドルネーム デコピン
製品 OB
タイトル Re: トリガー編集画面で修正・作成するとテーブル名にスキーマが付く
メッセージ本文 「OBサポート」様、ご回答ありがとうございます。

トリガーに限らず、ビューやプロシージャなどでも
「接続スキーマ」と異なるテーブルを参照する場合は、
テーブル名の前に「スキーマ名」を指定します。

逆に「接続スキーマ」と同じ場合は、あえてスキーマ名を記述していません。

今回のトリガーの起動テーブルに「スキーマ名」が必ず付くと、
「エクスポート」して、「他のスキーマにインポート」した場合、

トリガー以外は、テーブル名の前にスキーマ名が付いていないので
インポートされたスキーマ内のテーブルが参照されます。

「Object Browser」で編集したトリガーについては、
トリガー起動テーブル名の前に必ず「スキーマ名」が付いてしまうので、
エクスポート元の「スキーマ」の当該テーブルがトリガー起動テーブルになってしまいます。

弊社で良く行う作業として、
「本番用のスキーマ」をエクスポートして、
「テスト用のスキーマ」にインポートして検証等を行います。

何も意識せず、インポート後にそのまま検証作業に入ってしまうと
「本番用のテーブル」に反応して、テスト用のスキーマテーブルが更新されるという
事象が発生してしまいます。

特に上記のことを意識していないと、データが壊れていきます。

従って、弊社ではインポート後に必ず「トリガー一覧」で
「起動元のテーブルスキーマ」を確認して、
異なっているスキーマが無いかを確認、修正しています。

多分、「Object Browser」でトリガーを修正する際には、
スキーマが固定されることは意識していないと思いますので、
何か対応された方が宜しいかと思います。

以上です。
元の文章を引用して返信