問題タブ [database-trigger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5903 参照

plsql - PlSQLトリガー・エラーORA-0000 ORA-06512:

このトリガーを1週間前に作成しましたが、コンパイルエラーはありませんでしたが、レコードを入力すると、次EMP_REPORT のようなエラーメッセージが表示されます。

どこが間違っていたのかわかりません。plsは私を助けます:(

plsは、制約とその主キーを削除できないことに注意してください

0 投票する
2 に答える
1600 参照

plsql - for ループ内でトリガーする nextval を挿入する方法

これはトリガーのコードで、for ループがあります。トリガーが起動されると (INSERT OR UPDATE)、別のテーブル データが含まれている必要があります。MICL_SUP です。

これがテーブル構造です。Sup_ID主キーと一意のキー。テーブル構造を変更できない

使用する sup_ID を入力しますselect micl_sup_id_seq.nextval into SUPID from dual; が、このコードを実行するとエラーが発生します "RA-00001: unique constraint violated"(これはコンパイル エラーではありません) 追加する他の方法はありますsup_IDか? どこで間違ったのですか?

この質問は、このトリガーPlSQL トリガー エラー ORA-0000 ORA-06512 に関連しています。

0 投票する
1 に答える
1112 参照

oracle - PL/SQL LOGOFF TRIGGER がログオフ イベントを正しくキャプチャしない

このようなLOGOFFトリガーを作成しました

Oracle.DataAccess.Client モジュールの OracleConnection オブジェクトを使用する小さな VB.Net アプリケーションでテストしました。LOGON イベントは同様の LOGON トリガーによって適切にキャプチャされますが、LOGOFF イベントは、クライアント接続が閉じられ、その後クライアント アプリケーション全体が閉じられたときにのみキャプチャされます。つまり、これでは十分ではありません。

これもそうではありません:

これも:

私は何を間違っていますか?前もってありがとう、
ヤン

0 投票する
0 に答える
68 参照

mysql - 新しい週のデータセットが入力されると、MySQL で前の週のデータセットに対して計算が実行されるトリガーを作成するにはどうすればよいですか?

2つのテーブルがあるとしましょう:

私がやりたいのはdataset、 が次の週の情報で更新されたときに (週に 1 回更新されます)、関連する情報を に自動的に挿入することdatasetCalculationです。同等のことは、ある言語 (php としましょう) で の合計を計算しdatasetItem(1-3)、それを に挿入すること datasetCalculationです。datasetItemSum他の関連情報とともに。代わりに、これがデータベースによって自動的に行われることを望みます。

0 投票する
3 に答える
217 参照

sql-server - データベース トリガーを省略できませんか?

ウィキペディアが言うように

データベース トリガーは、一般的に次の目的で使用されます。

  • 変更の監査 (例: 変更に関係するユーザーとロールのログを保持する)
  • 変更を強化する (たとえば、レコードへのすべての変更がサーバーの時計によってタイムスタンプされるようにする)
  • ビジネス ルールを適用する (たとえば、すべての請求書に少なくとも 1 つの明細項目があることを要求する) など。

ref:データベース トリガー - ウィキペディア

しかし、共通のプログラミング言語 (特に OOP を使用) を使用して、ビジネス層内でこれらのことを簡単に行うことができます。では、現代のソフトウェア アーキテクチャにおけるデータベース トリガーの必要性は何でしょうか? なぜ本当に必要なのですか?

0 投票する
2 に答える
3105 参照

oracle - BLOB のテーブルのトリガーで BLOB ハッシュを計算します

私の環境はOracle 11gです。列が画像ブロブ、画像識別子、および SHA256 として計算された画像のハッシュであるテーブル T_IMG があります。T_IMG テーブルで行が挿入または更新されるたびに、画像ハッシュを計算して T_IMG テーブルに挿入したいと考えています。このために、T_IMG テーブルの挿入または更新で before トリガーを使用しますが、トリガー内のイメージ BLOB 列にアクセスするのが困難です。

文字列と BLOB の SHA256 ハッシュは、Sean Stuber の例 ( http://seanstuber.wordpress.com/2012/03/22/using-java-to-extend-dbms_crypto/ ) に基づく次のコードによって計算されます。

上記の機能が動作します。それらをテストすると、次のようになります。

SHA2_STRING('0123456789',256)
---------------------------------------------- -------------------------------------- 84D89877F0D4041EFB6BF91A16F0248F2FD573E6AF05C19F96BEDB9F882F7882
1 行が選択されました。

SHA2_BLOB(UTL_RAW.CAST_TO_RAW('0123456789'),256)
-------------------------------------- ------------------------------------------- 84D89877F0D4041EFB6BF91A16F0248F2FD573E6AF05C19F96BEDB9F882F7882
1 行が選択されました。

T_IMG の挿入または更新で before トリガーを使用して、image 列の SH256 ハッシュを計算します。

トリガー自体は機能します。モックアップ データ (製造された文字列または BLOB) のハッシュ値を計算して挿入しますが、次のエラーがスローされると、実際の画像の BLOB データには挿入しません。

ORA-29532: キャッチされていない Java 例外によって Java 呼び出しが終了しました: java.sql.SQLException: 無効な空 の
LOB操作
です
04088: トリガー 'TEST.TR_IMG_UPSERT' の実行中にエラーが発生しました

トリガーは :new.IMG データを空の blob として読み取るようです

T_IMG テーブルで行が挿入または更新されるたびに、画像のハッシュを自動的に計算して T_IMG テーブルに挿入するという問題を解決するにはどうすればよいですか?

注: データ行を挿入/更新するクライアント アプリによってハッシュを提供することはできません。

AdiM

0 投票する
1 に答える
17190 参照

oracle - 挿入値をトリガーで変更

数週間前に SQL の学習を始めたばかりで、挿入された値が 10 より小さい場合に 10 に変更するトリガーを作成しようとしています。今 4h を検索しましたが、多くの答えが見つかりましたが、何も見つかりませんでした良かったです(私にとって)。どこに問題があるのか​​ 本当にわかりません。コードは次のとおりです。

0 投票する
1 に答える
300 参照

sql - 更新トリガーは、同じテーブルとフィールドで更新を引き起こす必要があります

この更新トリガーを機能させるのに問題があります。私がやろうとしていることさえ可能かどうか疑問に思っています。

したがって、tblCustomersフィールドを持つ顧客のテーブルがあります。

  • ActivationStatus
  • RateClass
  • ParentCustomerID (この顧客が「子」である顧客 (存在する場合) を示します)

親 Customer でUPDATE が発生するたびに、ActivationStatusRateClassCustomer も同じ値で更新する必要があります。

私は現在持っています:

更新しようとすると、次のエラーが表示されます: 最大ストアド プロシージャ、関数、トリガー、またはビューのネスト レベルを超えました (制限 32)

明らかに再帰の問題が発生しており、なぜそれが発生しているのかは理にかなっていますが、このようなことは可能なはずですよね? どうすればこれを達成できますか?

SET RECURSIVE_TRIGGERS OFFデータベース全体にある他の多くのトリガーにどのような影響があるのか​​ わからないため、実行したくないことに注意してください.

ありがとうございました!