ハンドルネーム |
デコピン
|
製品 |
OB |
タイトル |
Re: トリガー編集画面で修正・作成するとテーブル名にスキーマが付く
|
メッセージ本文 |
「OBサポート」様、ご回答ありがとうございます。
トリガーに限らず、ビューやプロシージャなどでも 「接続スキーマ」と異なるテーブルを参照する場合は、 テーブル名の前に「スキーマ名」を指定します。
逆に「接続スキーマ」と同じ場合は、あえてスキーマ名を記述していません。
今回のトリガーの起動テーブルに「スキーマ名」が必ず付くと、 「エクスポート」して、「他のスキーマにインポート」した場合、
トリガー以外は、テーブル名の前にスキーマ名が付いていないので インポートされたスキーマ内のテーブルが参照されます。
「Object Browser」で編集したトリガーについては、 トリガー起動テーブル名の前に必ず「スキーマ名」が付いてしまうので、 エクスポート元の「スキーマ」の当該テーブルがトリガー起動テーブルになってしまいます。
弊社で良く行う作業として、 「本番用のスキーマ」をエクスポートして、 「テスト用のスキーマ」にインポートして検証等を行います。
何も意識せず、インポート後にそのまま検証作業に入ってしまうと 「本番用のテーブル」に反応して、テスト用のスキーマテーブルが更新されるという 事象が発生してしまいます。
特に上記のことを意識していないと、データが壊れていきます。
従って、弊社ではインポート後に必ず「トリガー一覧」で 「起動元のテーブルスキーマ」を確認して、 異なっているスキーマが無いかを確認、修正しています。
多分、「Object Browser」でトリガーを修正する際には、 スキーマが固定されることは意識していないと思いますので、 何か対応された方が宜しいかと思います。
以上です。
|