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, 4135 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 Abfragen und Formulare in Webseite einbinden (3)

Frage von Machello zum Thema Datenbanken ...

Backup
Backup-Software für IIS und MS SQL (2)

Frage von Ravelux zum Thema Backup ...

Datenbanken
MS SQL - Update Text Feld mit Steuerzeichen (4)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst Ms sql management studio 2012 Konfigurationsmanagerstartet nicht (3)

Frage von XPFanUwe zum Thema Windows Server ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...