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

Mysql trigger eine zeile abfragen

Frage Entwicklung Datenbanken

Mitglied: astillon

astillon (Level 1) - Jetzt verbinden

18.07.2011 um 14:48 Uhr, 3190 Aufrufe, 2 Kommentare

einen wunderschönen guten tag liebe gemeinde.

ich habe heute das schicke trigger system bei mysql gefunden, und mich schon einiger maßen durchgewurschelt.
allerdings habe ich ein kleines problem wegen den SELECT.
ich möchte gerne, dass wenn die tabelle1 einen update hatte, der trigger gestartet wird, und immer wieder was zusammen zählt.

das ist mein code, der bisher ganz ok läuft




/* /

drop trigger if exists mid_menge_anzahl;
-- Trigger DDL Statements
DELIMITER $$

USE `new_schema`$$

CREATE
TRIGGER `new_schema`.`mid_menge_anzahl`
AFTER UPDATE ON `new_schema`.`auftrag`
FOR EACH ROW
begin
if (old.auftrag_stueckzahl < new.auftrag_stueckzahl ) then
set @a:=new.auftrag_stueckzahl - old.auftrag_stueckzahl;
end if;

if (old.auftrag_stueckzahl > new.auftrag_stueckzahl ) then
set @a:=old.auftrag_stueckzahl - new.auftrag_stueckzahl;
end if;

if (old.auftrag_stueckzahl = new.auftrag_stueckzahl ) then
set @a:= new.auftrag_stueckzahl;
end if;

UPDATE
new_schema.mid_menge SET `mid_menge`.`menge`=`mid_menge`.`menge` + @a
WHERE
`mid_menge`.`mitarbeiter_id` = new.auftrag_mitarbeiter
AND
`mid_menge`.`auftrag_erstell_datum`= new.auftrag_erstell_datum;
END$$
/* /


nur, wenn ich jetz die tabelle auftrag update, dann macht der trigger nur was, wenn in der anderen tabelle mid_menge auch der datensatz besteht, also wenn

/* /
WHERE
`mid_menge`.`mitarbeiter_id` = new.auftrag_mitarbeiter
AND
`mid_menge`.`auftrag_erstell_datum`= new.auftrag_erstell_datum;
/*/
wahr ist. geht es, dass ich das so hinbekomme, er dennoch einen neuen datensatz anlegt, wenn mitarbeiter und erstelldatum nicht da sind?
Mitglied: it-frosch
18.07.2011 um 16:47 Uhr
Hallo astillon,

warum müssen Reporting und Datenbankprogrammierungen immer schlechte Datenpflege abfangen?!
Wenn die Felder keine verlässlichen Werte beinhalten dann setze entweder einen Trigger auf die Felder der sie beim Anlegen eines neuen Datensatzes selbst
befüllt und fülle die vorhandenen leeren Datensätze mit einem definierter Wert oder lasse die Datensätze nachpflegen.

grüße vom it-frosch
Bitte warten ..
Mitglied: astillon
25.07.2011 um 10:19 Uhr
du meinst, wenn man in der tabelle auftrag etwas einfügt, sollte der trigger die tabelle auftrag nachbearbeiten? das wäre in der tat etwas geniales, nur sollen diese daten nicht mit den daten der anderen tabelle verschmolzen werden. die daten der Aufträge sollen als eine konstante gesehen werden. das ist schwer zu erklären, aber ich versuche es einmal.
der auftrag hat eine gesamstückzahl, die der chef gerne immer wissen will, nur wenn sich die mitarbeiter überlegen, hey lass ein team bilden, so bleibt die gesamtstückzahl des auftrages (gesehen als Projekt) immer noch gleich. nur das Projekt wird aufgeteilt in verschiedene positionen des gesamt auftrages. wenn jetzt ein mitarbeiter eine teilposition des auftrages übernimmt (welcher eigentlich anhand der daten nicht dafür zuständig ist), so ist die gesamtstückzahl des Auftrages immernoch gleich.


hab ich jetz vorbei geredet? xD

ich bin noch keine jahrzehnte im "datenbank" system, also bitte helft mir ein wenig, sollte ich falsche lösungs ansätze haben
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...