
Oracle8.1.7にて、あるAユーザーの所有物を全てExportし、その後、Bユーザーの所有物としてImportしようとすると、データベーストリガーのImport時にエラーが発生します。その他テーブルのImportは全て、成功しています。
(FROMUSER=A TOUSER=Bとしてimpしています。)
そこで、LOGを見てみると、データベーストリガーのCreate時にトリガー自体はBユーザーの所有物としてImportしようとしているが、そのトリガー作成SQL文内のテーブル参照部分がAの所有物として指定されている為、エラーが発生しているという事がわかりました。
create trigger B.trigger_name ~ on A.table_name
となっていました。
これは、impの仕様?バグ?なのでしょうか?それとも、なにか他にImport時に指定するオプションがあるのでしょうか?
回避方法等ご存知でしたら教えてください。
あと、このCreate Trigger文をSQL PLUSに手動で貼りつけて実行させようとしたら、何の反応もありませんでした。
まるで、このコマンドを認識していないという感じでした。SQL PLUSではCreate Trigger文は処理されないのでしょうか?因みにSQL Worksheetにて実行は出来ました。
こちらもご存知の方お願いします。
No.2ベストアンサー
- 回答日時:
#1です。
> トリガーを作成する時にあえて、テーブルにユーザー指定を行っていると、この
> 様な事になってしまうのですか?imp/expでユーザー変更オプション指定しても
> そこまでは変更してくれないという事なんですね?
その通りです。これはトリガーに限ったことではなく、
テーブルなどOracleのオブジェクト全般そうみたいです。
> あと、SQL*PLUSで;はつけたのですが。。。
> /はどういう時につけるのでしょう。普通select文などでは;でいいですよね。違> いはなんですか?
;は文の終わりを意味します。したがって文末につけます。
/は文の最終行を示します。これは文のあと1改行してから/だけの行を入れます。
文の直後につけることは出来ません。
つまり、入力する場所だけの違いで、意味はほとんど同じです。
ちなみに、これはSelect文でも同じです。
No.1
- 回答日時:
EXP/IMPでそのような不具合があるということは聞いたことがありません。
もしかしてAにトリガーを作った時、テーブル名をユーザー名指定(A.table_name)
で作ってたりしませんか?
それとSQL*PLUSでトリガーは普通に作成することが出来ます。
Create Triggerが実行されないのはもしかして末尾に/もしくは;
をつけてないためではないでしょうか。
お礼が遅れてすいません。投稿があった時にメールを送信するにチェックしてたはずなのですが、来なかったので全然見てませんでした。ごめんなさい。本題ですが、トリガーを作成する時にあえて、テーブルにユーザー指定を行っていると、この様な事になってしまうのですか?imp/expでユーザー変更オプション指定してもそこまでは変更してくれないという事なんですね?
あと、SQL*PLUSで;はつけたのですが。。。
/はどういう時につけるのでしょう。普通select文などでは;でいいですよね。違いはなんですか?
お礼ではなくて、再質問になってしまいました。返答頂ければ、うれしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBA [リモートサーバー...
-
ACCESS2007 フォーム 「バリア...
-
Accessでクエリを完了できませ...
-
SSIS 変数の値をSQL実行タスク...
-
重複するキーから一番古い年月...
-
SI Object Browserのテーブルス...
-
SQLServerで同一条件レコードの...
-
アクセスのテーブルからエクス...
-
時系列データの抜けの調べ方
-
既に使用されているので、使用...
-
SQLスクリプトを自動生成する方法
-
bcpインサートでのフォーマ...
-
DBMAGICのプログラム解析
-
ACCESS-リンクテーブルの設定で...
-
sqlplusでバックスペースが効か...
-
あるテーブルのデータを追加、...
-
ユニオンクエリの結果をテーブ...
-
Access カレントレコードがあり...
-
ボタンをクリックした回数をカ...
-
ExcelからAccess2013DBを更新す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS2007 フォーム 「バリア...
-
Access VBA [リモートサーバー...
-
Accessでクエリを完了できませ...
-
ACCESSのODBCリンクテーブルに...
-
大きなテーブルに対する問い合...
-
VBAの実行時エラー'2522'について
-
テーブル作成後なんですが、Pri...
-
accessでSQL実行時のテーブル名...
-
実行時エラー3086 削除クエリ...
-
Select ~ into ~ で作成した...
-
アクセスのワークシート変換に...
-
ユニオンクエリで繋げられるテ...
-
インデックスを調べる方法は?
-
AccessのテーブルをSQL Server...
-
PhpMyAdminで作成して実行せよ...
-
Access Update文の副問い合わせ
-
TRY CATCHでシステムエラーを検...
-
Access VBA 読み取り専用かチェ...
-
SQL Serverのテーブルってどう...
-
SSIS 変数の値をSQL実行タスク...
おすすめ情報