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, 4112 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Datenbanken
MS-SQL-Server + T-SQL+Batch (4)

Frage von kallewirsch zum Thema Datenbanken ...

Datenbanken
gelöst Postgre SQL Trigger oder nachgelagertes separates Skript? (4)

Frage von TheJoker2305 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...