Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MS - SQL Trigger Flag

Frage Entwicklung Datenbanken

Mitglied: SNo

SNo (Level 1) - Jetzt verbinden

05.06.2009, aktualisiert 18:02 Uhr, 4141 Aufrufe, 2 Kommentare

Hallo,

ich bräuchte einen Trigger, der das Feld BMDExport auf 1 setzt, wenn etwas am Datensatz geändert wurde.
Wenn ich das Feld BMDExport auf 0 setze soll nix passieren.
Bei meinem Trigger wird leider BMDExport sofort wieder auf 1 zurückgesetzt, wenn ich 0 reinschreiben will.

Bitte um Eure Hilfe.
Hab momentan nur ganz einfache Trigger gebaut.

CREATE TRIGGER [trSTAMMDATENupdate] ON dbo.STAMMDATEN FOR UPDATE AS SET NOCOUNT ON

DECLARE @DSN BIGINT
DECLARE @BMDExport TINYINT

SELECT @DSN = DSN,
@BMDExport = BMDExport
FROM inserted

IF @BMDExport = 0 BEGIN
UPDATE dbo.STAMMDATEN
SET BMDExport = 1
WHERE DSN = @DSN
END
Mitglied: filippg
06.06.2009 um 17:18 Uhr
Hallo,

also wenn ich jetzt gerade keinen Hänger habe ist das auch ziemlich logisch. Wenn du BMDExport auf 0 setzt führst du ja ein Update durch, und jedes Update setzt BMDExport auf 1...
Und was man dagegen macht: Abfragen, was upgedated wurde. Und wenn es BMD... ist dann halt nicht umsetzen.
Zur Abfrage, ob eine Spalte akutalisiert wurde gibt es extra "IF UPDATE(column)", siehe z.B. http://msdn.microsoft.com/en-us/library/aa258254(SQL.80).aspx. Achtung: ich bin mir nicht ganz sicher, ob IF UPDATE nur "echte" Updates erkennt (sprich: der Wert wurde auch wirklich geändert) oder auch "unechte" (sprich: du hast ein UPDATE auf alle Zeilen durchgeführt, werden dann auch die als Upgedated angesehen, die bereits den gewünschten Wert hatten, bei denen der Wert also nicht mehr geändert wurde). Dann musst du u.U. noch die Werte in den logsichen Tabellen DELTED und INSERTED vergleichen (steht auch in obigem Artikel).

Gruß

Filipp
Bitte warten ..
Mitglied: Biber
06.07.2009 um 08:45 Uhr
Moin SNo,

Nachfrage:
Gemäß einer der vielen bekannten Gesetzmäßigkeiten der IT-Branche liegt, wenn ein Problem länger als einen Monat ohne erkennbare Statusänderung offen ist, einer der folgenden Sachverhalte vor:

  • das Problem konnte mit der vorgeschlagenen Lösung behoben werden
  • das Problem ist vergessen, weil niemand mehr danach gefragt hat
  • das Problem ist gegenstandslos, da der zuständige Problemlöser inzwischen die Firma gewechselt hat

Welche der drei Varianten trifft denn bei Dir zu?

Bitte Feedback

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MS SQL - primary Datei verkleinern (6)

Frage von Thomas2 zum Thema Datenbanken ...

Microsoft
gelöst Verbindung zu MS SQL Server 2016 nicht möglich (5)

Frage von Baitahook zum Thema Microsoft ...

Datenbanken
gelöst Daten aus Excel in MS SQL Server übernehmen (7)

Frage von Balu418xx zum Thema Datenbanken ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server Komplettspiegelung (13)

Frage von pdiddo zum Thema Windows Server ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...