SQL Server:SELECTでトリガを起動する? (計算列)

DaysToExpiration が今から日付列有効期限までの日数に基づいて計算されるように動的にする必要があります。

私の計画は、テーブルの SELECT ステートメントで起動するトリガーを追加することでした。

  1. これは可能ですか?どうですか?
  2. これについてより良い方法はありますか。
0
(1)への応答: NO - SQL Serverの SELECT ....に対するトリガーはありません
追加された 著者 marc_s,
(1)への応答: NO - SQL Serverの SELECT ....に対するトリガーはありません
追加された 著者 marc_s,
(1)への応答: NO - SQL Serverの SELECT ....に対するトリガーはありません
追加された 著者 marc_s,
テーブルへの表示は、他の場所に情報を格納するためのトリガーの作成や、DaysToExpirationを表示するための計算列を持つことでさえ、やり過ぎです。
追加された 著者 M.Ali,
テーブルへの表示は、他の場所に情報を格納するためのトリガーの作成や、DaysToExpirationを表示するための計算列を持つことでさえ、やり過ぎです。
追加された 著者 M.Ali,
テーブルへの表示は、他の場所に情報を格納するためのトリガーの作成や、DaysToExpirationを表示するための計算列を持つことでさえ、やり過ぎです。
追加された 著者 M.Ali,
@Lamak計算カラムよりも優れていて、実際には必要のない余分なカラムを持っていないことは、余分なカラムを維持する必要がなく、またインデックスを作成することさえできないなど、良いことです。あなたがポイントを得ることを願っています。計算列は、値が挿入された時点で計算する必要があり、永続的である場合(通常、その列にも索引を作成することができます)、計算コード列は通常は良い考えです。 >(照会されているときに計算する必要があります)ビューは私の意見でははるかに良い選択肢です
追加された 著者 M.Ali,
@Lamak計算カラムよりも優れていて、実際には必要のない余分なカラムを持っていないことは、余分なカラムを維持する必要がなく、またインデックスを作成することさえできないなど、良いことです。あなたがポイントを得ることを願っています。計算列は、値が挿入された時点で計算する必要があり、永続的である場合(通常、その列にも索引を作成することができます)、計算コード列は通常は良い考えです。 >(照会されているときに計算する必要があります)ビューは私の意見でははるかに良い選択肢です
追加された 著者 M.Ali,
@Lamak計算カラムよりも優れていて、実際には必要のない余分なカラムを持っていないことは、余分なカラムを維持する必要がなく、またインデックスを作成することさえできないなど、良いことです。あなたがポイントを得ることを願っています。計算列は、値が挿入された時点で計算する必要があり、永続的である場合(通常、その列にも索引を作成することができます)、計算コード列は通常は良い考えです。 >(照会されているときに計算する必要があります)ビューは私の意見でははるかに良い選択肢です
追加された 著者 M.Ali,
はい、計算カラムがより良い選択ですIMO
追加された 著者 Lamak,
はい、計算カラムがより良い選択ですIMO
追加された 著者 Lamak,
@ M.アリビューは良い考えです。しかし、私は興味があります、なぜあなたはそれが計算カラムと異なると思いますか?、なぜあなたはそれがより良いと思いますか?
追加された 著者 Lamak,
@ M.アリビューは良い考えです。しかし、私は興味があります、なぜあなたはそれが計算カラムと異なると思いますか?、なぜあなたはそれがより良いと思いますか?
追加された 著者 Lamak,
@ M.アリビューは良い考えです。しかし、私は興味があります、なぜあなたはそれが計算カラムと異なると思いますか?、なぜあなたはそれがより良いと思いますか?
追加された 著者 Lamak,

6 答え

あなたは、「私の計画はテーブルのSELECTステートメントで起動するトリガーを追加することでした」と言います。

その場合、なぜカラムがあるのでしょうか。最後のクエリでカラムを選択しないのはなぜでしょうか。

Select DateDiff(day,getdate(),ExpirationDate) AS [DaysToExpiration]

それを永続化して列に格納する必要がある場合は、コメントに示されているようにそれを計算列にすることができます。または、ExpirationDateが挿入または更新されると、DaysToExpiration列に提供されたコードの結果が設定されるように、UPDATE/INSERTでテーブルトリガを設定できます。

1
追加された

あなたは、「私の計画はテーブルのSELECTステートメントで起動するトリガーを追加することでした」と言います。

その場合、なぜカラムがあるのでしょうか。最後のクエリでカラムを選択しないのはなぜでしょうか。

Select DateDiff(day,getdate(),ExpirationDate) AS [DaysToExpiration]

それを永続化して列に格納する必要がある場合は、コメントに示されているようにそれを計算列にすることができます。または、ExpirationDateが挿入または更新されると、DaysToExpiration列に提供されたコードの結果が設定されるように、UPDATE/INSERTでテーブルトリガを設定できます。

1
追加された

あなたは、「私の計画はテーブルのSELECTステートメントで起動するトリガーを追加することでした」と言います。

その場合、なぜカラムがあるのでしょうか。最後のクエリでカラムを選択しないのはなぜでしょうか。

Select DateDiff(day,getdate(),ExpirationDate) AS [DaysToExpiration]

それを永続化して列に格納する必要がある場合は、コメントに示されているようにそれを計算列にすることができます。または、ExpirationDateが挿入または更新されると、DaysToExpiration列に提供されたコードの結果が設定されるように、UPDATE/INSERTでテーブルトリガを設定できます。

1
追加された

いいえSELECT操作でトリガをかけるという規定はありません。 SELECTクエリから取得されたパラメータを受け取るストアドプロシージャを使用し、必要なSELECTクエリの後にこのプロシージャを呼び出すことができます。

0
追加された

いいえSELECT操作でトリガをかけるという規定はありません。 SELECTクエリから取得されたパラメータを受け取るストアドプロシージャを使用し、必要なSELECTクエリの後にこのプロシージャを呼び出すことができます。

0
追加された

いいえSELECT操作でトリガをかけるという規定はありません。 SELECTクエリから取得されたパラメータを受け取るストアドプロシージャを使用し、必要なSELECTクエリの後にこのプロシージャを呼び出すことができます。

0
追加された