Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

केवल तभी सक्रिय होने के लिए ट्रिगर करें जब SQL सर्वर में कोई शर्त पूरी होती है

यह देखते हुए कि WHERE क्लॉज काम नहीं करता, शायद यह होगा:

CREATE TRIGGER 
    [dbo].[SystemParameterInsertUpdate]
ON 
    [dbo].[SystemParameter]
FOR INSERT, UPDATE 
AS
  BEGIN
    SET NOCOUNT ON

      If (SELECT Attribute FROM INSERTED) LIKE 'NoHist_%'
      Begin
          Return
      End

      INSERT INTO SystemParameterHistory 
      (
        Attribute,
        ParameterValue,
        ParameterDescription,
        ChangeDate
      )
    SELECT
      Attribute,
      ParameterValue,
      ParameterDescription,
      ChangeDate
    FROM Inserted AS I
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल रैंक () बनाम ROW_NUMBER ()

  2. SQL सर्वर (T-SQL उदाहरण) में 'datetime2' को 'तिथि' में बदलें

  3. मैं SQL सर्वर से _exact_ त्रुटि का पता कैसे लगा सकता हूं

  4. एक एसक्यूएल चर के लिए निष्पादन परिणाम कैसे असाइन करें?

  5. इसके लिए समाधान:स्टोर अपडेट, इंसर्ट, या डिलीट स्टेटमेंट ने अप्रत्याशित पंक्तियों की संख्या को प्रभावित किया (0)