Top-Themen

Aktuelle Themen (A bis Z)

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

Trigger zum updaten einer Tabelle- aber wie?

Frage Entwicklung Datenbanken

Mitglied: xhutzelx

xhutzelx (Level 1) - Jetzt verbinden

29.08.2007, aktualisiert 01.09.2007, 3207 Aufrufe, 2 Kommentare

Benötige Hilfe bei der Programmierung eines Triggers

Stand der Dinge, ich habe zwei Tabellen:

Tabelle_Maschine und Tabelle_Individual

In beiden Tabellen existiert ein Feld ClientID, das nur eindeutige Werte enthalten (Primary Key) und nicht Null sein darf.

Außerdem existieren in Tabelle_Maschine die Spalten Manufacturer und Serial.
In Tabelle_Individual existieren außerdem die Felder Hersteller und SerienNr.

Das Problem ist, dass die Anwendung, die diese SQL- Tabellen nutzt, Werte nur automatisch in Tabelle_Maschine schreibt, aber nicht automatisch in Tabelle_Individual.

Die Spalten von Tabelle_Maschine werden auch nicht komplett befüllt, da die Anwendung bestimmte Werte nicht ausliest und stattdessen 00000 oder gar nichts reinschreibt.

Als Ersatz werden nun Werte in Tabelle_Individual manuell eingetragen, denn das sind die Werte, für die Zeilen in Tabelle_Maschine, in denen die Nullen oder gar nichts steht.

In Tabelle_Individual sind nicht zwangsläufig genauso viele Zeilen, wie in Tabelle_Individual vorhanden. Eher weniger.

Ich hoffe, das ist nun klar. In Tabelle_Maschine kann ich nichts manuell eintragen, da nach einem Daten-Scan diese Einträge wieder überschrieben würden.

Am einfachsten wäre es nun, wenn die Tabelle_Maschine zwar noch existieren würde, aber deren Datenzeilen, die für die Felder Manufacturer und Serial UNGLEICH 00000 oder nicht leer sind, in Tabelle_Individual geschrieben würden.
Und zwar die Werte von Manufacturer in Händler und die von Serial in SerienNr.

Aber aufgepasst: Es existieren schon Datensätze in der Tabelle_Individual.

D.h., es müssen zunächst die entsprechenden Felder in Tabelle_Individual befüllt werden, die mit der ClientID der Tabelle_Machine identisch sind. Als nächstes müssen die Datensätze mit der ClientID hinzugefügt werden, für die in Tabelle_Individual noch keine ClientID existiert, und nur die oben genannten Felder, wenn diese UNGLEICH 00000 und NICHT LEER sind.

Besser wäre es gewesen, der Trigger hätte von Anfang an schon existiert, dann hätte der wohl ein AFTER INSERT, UPDATE sein können.
Oder kann ich jetzt einen erstellen, der mir sofort und auch zukünftig die Werte wie oben beschrieben rüberschreibt?

Ich hoffe, es ist irgendwie klar, was ich machen will... wäre für einen kompletten Trigger dankbar, da kein SQL-Profi.
LG
Mitglied: pi314
29.08.2007 um 11:37 Uhr
Hi,

um was für ein DB handelt es sich denn?
Oracle, MySQL, ...
Bitte warten ..
Mitglied: Desperado
01.09.2007 um 08:17 Uhr
trigger on tbl_machine 4 update/insert

-- Update wird nur ausgeführt, wenn ID vorhanden
update tbl_individual set hersteller = b.manufacturer from tbl_individual a, inserted b
where a.clientid = b.clientid and b.manufacturer is not null and b.manufacturer <> '00000'
update tbl_individual set seriennr = b.serial from tbl_individual a, inserted b
where a.clientid = b.clientid and b.serial is not null and b.serial <> '00000'
--Insert
insert into tbl_indivdual (clientid, hersteller, seriennr) select clientid, manufacturer, serial from
inserted where manufacturer is not null and serial is not null and manufacturer <> '00000'
and serial <> '00000'
and b.clientid not in (select clientid from tbl_individual)
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL Server 2012 Update-Trigger
gelöst Frage von EUuserDatenbanken7 Kommentare

Hallo zusammen, ich habe eine Frage zu einem Update-Trigger im SQL Server 2012: Ich habe einen Trigger, der bei ...

Datenbanken
Mit MS-SQL-Trigger ein Wert in eine andere Tabelle übertragen
gelöst Frage von EB-StefanDatenbanken2 Kommentare

Hallo zusammen, ich habe ein kleines Problem. Ich habe 2 Tabellen die 1:n verknüpft sind. Aufträge zu Liefertermine Es ...

Datenbanken
SQL Trigger über 2 Tabellen mit 1 Bedingung
gelöst Frage von holiboliDatenbanken1 Kommentar

Hallo ich versuche einen Trigger zu erstellen der mir die Werte von: LAG_Statistik.MengeEin in LAG_Artikel.Z_MengeEin LAG_Statistik.MengeAUS in LAG_Artikel.Z_MengeAUS LAG_Statistik.Datum ...

Entwicklung
SQL Update aus derselben Tabelle
gelöst Frage von winscheilEntwicklung1 Kommentar

Hallo, ich habe folgendes Problem. Ich habe eine Tabelle die folgendermaßen aufgebaut ist. Auftrag Rechnung Position Artikel Kosten NULL ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 StundeWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 9 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 10 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1012 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server22 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen19 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...