
WindowsXPのOracle9i環境です。
以下のようなトリガーを作成しました。
create or replace trigger kan_trg
after update or insert on t_kan
declare
begin
execute immediate 'create or replace view V_test as select
・・
from t_kan with read only';
end;
/
その後、試しに「insert into t_kan ・・・」 と実行してみましたが、「ORA-04092:トリガーはCOMMITできません」が発生します。
色々調べましたがトリガーの中にCOMMIT文を入れることはできないようです。どのようにすれば解決するか、ご教示いただけませんでしょうか?
宜しくお願い致します。
No.2
- 回答日時:
insert into したセッションとは別のセッションで検索しようとしていませんか。
AFTERトリガでもCOMMITしていないデータは別セッションからは検索できませんよ。
ご回答ありがとうございます!
同一セッションで検索してますし、commitもしております。
他に何か考えられることありますでしょうか?
No.1
- 回答日時:
「create any view」権限を持ったユーザーで
create or replace procedure kan_proc(str in varchar2)
is
PRAGMA AUTONOMOUS_TRANSACTION;
-- ↑ 自律型トランザクション プラグマ
begin
execute immediate str;
end;
/
create or replace trigger kan_trg
after update or insert on t_kan
begin
kan_proc('create or replace view V_test as select * from t_kan with read only');
end;
/
「create any view」権限はロール経由では無効になるので、DBA権限を
持ったユーザーでプロシージャを作っても実行時「権限不足」になるので
注意。
ご回答ありがとうございます!
「自律型トランザクション プラグマ」というのが調べても高度でよく理解できませんでしたが、とりあえずビューは作成できたようです。
ところが、t_kanテーブルにinsert文にてテストしてみましたが、トリガーにて「after」指定にもかかわらず、作成されたビューの中にはinsertしたレコードが入ってきませんでした。
それでは意味がないのですが、なぜなのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- その他(ゲーム) クロノ・トリガーのリメイク 2 2022/11/12 09:54
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「A,B組の女子の氏名のよみ。 1 2023/05/16 15:28
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
roleの権限確認方法
-
Oracle8iで順序の値のリセット
-
テーブル権限確認
-
ストアドプロシジャで、TRUNCAT...
-
ORACLE → PostgreSQLの移行につ...
-
会社の〇〇部と〇〇課の違いっ...
-
参照権限の付与方法
-
ロール付与したタイムスタンプ...
-
Oracle 10g 他スキーマの参照権...
-
エクセルVBAでUserFormを起動し...
-
Accessのマクロでモジュールを...
-
SQLで部分的にGROUP BYしたいとき
-
wordの差し込み印刷での日付表示
-
SQLserver算術オーバーフロ...
-
Excelのピボットテーブルで数も...
-
TO_DATEの使い方を教えて下さい
-
イベントプロシージャが動作しない
-
PL/SQLで、期間計算
-
(日付 - 日付)/数値
-
Oracleのことなのですが。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Statement ignored というエラー
-
ODBCリンクの際にACCESSでは読...
-
異なるスキーマのビューを元に...
-
別のスキーマのテーブルアップ...
-
会社の〇〇部と〇〇課の違いっ...
-
権限で「委任」「専決」とあり...
-
テーブル権限確認
-
Oracle 10g 他スキーマの参照権...
-
oracleユーザーの権限確認方法...
-
Oracleでオブジェクト権限を調...
-
DBMS_LOCK.SLEEPについて
-
「バッチジョブとしてログオン...
-
Oracle 10g 権限付与
-
Poweruser権限でのIPアドレス変...
-
「セットアップはシステム管理...
-
Flashback Tableで必要な権限
-
roleの権限確認方法
-
Oracle8iで順序の値のリセット
-
スプレッドシートを使った複数...
-
トリガーにてビューを作成しよ...
おすすめ情報