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

gelöst Oracle Insert Befehl

Mitglied: Marabunta

Marabunta (Level 1) - Jetzt verbinden

20.02.2018 um 16:14 Uhr, 895 Aufrufe, 4 Kommentare

Hallo,

ich habe eine Datenbank, die etwa so aussieht:

01.
PrimaryKey=ID
02.

03.
ID, STARTDATE, ENDDATE, ZA, TT, SP

Jetzt soll mit einem Insert Befehl folgendes passieren:
01.
ID + 1
02.
STARTDATE = JETZT
03.
ENDDATE = JETZT + 1 MINUTE
04.
Einen bestimmten Text in ZA eintragen = ('BLA')
05.
TT UND SP = TT UND SP von MAX(ID) WHERE ZA = 'ALB'
Also habe ich angefangen, hier vermutlich falsch aber sinngemäß:
01.
INSERT INTO TABELLE1 ( 
02.
    ID, 
03.
    STARTDATE, 
04.
    ENDDATE, 
05.
    ZA, 
06.
    TT, 
07.
    SP
08.
)
09.

10.
VALUES(
11.
    MAX(ID)+1,
12.
    '20.02.18 00:00:00,000000000', 
13.
    '20.02.18 00:01:00,000000000', 
14.
    'BLA', 
15.
    SELECT TT FROM TABELLE1 WHERE ZA = 'ALB' AND ROWNUM = '1' ORDER BY ID DESC, 
16.
    SELECT SP FROM TABELLE1 WHERE ZA = 'ALB' AND ROWNUM = '1' ORDER BY ID DESC
17.
)
Vielen Dank für eure Hilfe.

Gruß
Marabunta
Mitglied: em-pie
20.02.2018 um 16:43 Uhr
Moin,

ich suche gerade die Frage in deinem Post!?!

Gruß
em-pie
Bitte warten ..
Mitglied: Marabunta
20.02.2018 um 16:47 Uhr
die frage ist, wie der Befehl nun wirklich aussehen muss, damit es wie beschrieben funktionieren würde
Bitte warten ..
Mitglied: SlainteMhath
20.02.2018 um 16:56 Uhr
Moin,

bin kein Oracle Spezialist, trotzdem...

1.
Ist das eine Single User, single Thread Datenbank? Wenn nicht muss um das ganze eine Transaction 'rum, sonst klappt ID=MAX(ID)+1 nicht zu 100%

2.
VALUES(.... SELECT TT...) ist mE kein gültiger Syntax. Ich denke du brauchst das Oracle Äquivalent zu einer Stored Procedure in der du dann erst die Werte für TT und SP zusammenbastellst und dann als Variable in das INSERT INTO einfügst.


lg,
Slainte
Bitte warten ..
Mitglied: em-pie
LÖSUNG 20.02.2018 um 17:15 Uhr
DU bist echt anstrengend....

was ist denn überhaupt dein Problem wo hakt es denn??

Grundsätzlich fällt mir als erstes mal auf, dass die EIngaben in Zeile 15 sowie 16 des dritten Code-Tags in Klammern stehen müssen!
01.
 (SELECT TT FROM TABELLE1 WHERE ZA = 'ALB' AND ROWNUM = '1' ORDER BY ID DESC), 
02.
 (SELECT SP FROM TABELLE1 WHERE ZA = 'ALB' AND ROWNUM = '1' ORDER BY ID DESC)
Als nächstes wäre es sinnvll, wenn du mit einem Subselect arbeiten würdest:

01.
...
02.
VALUES (
03.
(select
04.
 ID_New
05.
 , (select TO_CHAR (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') FROM DUAL) as "NOW"
06.
 , (select to_date(to_char(SYSDATE, 'YYYY-DD-MM ') || ' ' || TO_CHAR(Timeadd(SYSDATE, , 00, 00, 01), 'HH24:MM:SS)))
07.
 , 'BLA'
08.
 , TT
09.
 , SP
10.
from
11.
 (select 
12.
   MAX(ID) + 1 as ID_NEW
13.
   , TT
14.
   , SP
15.
  from TABELLE 1 Where  ZA = 'ALB' and ROWNUM = '1' order by ID desc)))
So oder so ähnlich jedenfalls.... habe gerade kein ORACLE zur Hand....
Bitte warten ..
Ähnliche Inhalte
Datenbanken

SQL MERGE-Befehl . INSERT aller Datenzeilen verhindern, beschränkbar auf nur geänderte?

gelöst Frage von chgs2011Datenbanken5 Kommentare

Hallo, ich habe mir die Funktion MERGE die Tage angeschaut, die mir bislang neu war. Der Syntax stammt von ...

Batch & Shell

INSERT INTO funktioniert nicht

gelöst Frage von DaniBatch & Shell9 Kommentare

Guten Abend liebe Kolleginnen und Kollegen, ich gehe - wieder einmal - einer meiner Entwicklungen nach, welche ich mal ...

Batch & Shell

Bei INSERT Fehler abbrechen

Frage von newit1Batch & Shell8 Kommentare

Hallo zusammen, ich habe ein kleines Problem. Das unterstehende Skript importiert eine CSV Datei in eine Datenbank. Den Aufbau ...

Datenbanken

TSQL - Tabellen Export als Insert Statement

Frage von ooAlbertDatenbanken3 Kommentare

Hallo, ich möchte ganz gern eine Tabelle aus meiner Datenbank (SQL Server 2008 R2) programatisch exportieren, als Insert Statment. ...

Neue Wissensbeiträge
Google Android

Google sperrt Android-Updates und den Play Store für Huawei

Information von Deepsys vor 23 StundenGoogle Android8 Kommentare

Das finde ich schon ein starkes Stück, Trump der Welt Diktator. So kann man mit einem Dekret mal eben ...

Windows 7

Südkoreas Regierung setzt auf Linux, um Windows 7 Clients abzulösen

Information von kgborn vor 1 TagWindows 74 Kommentare

Kleiner Infosplitter zum Wochenanfang: Während München (LiMux) und die niedersächsische Finanzverwaltung von Linux auf einen Windows 10-Client (und Office) ...

Internet
Big Brother is Watching You
Information von transocean vor 1 TagInternet1 Kommentar

Moin, die Datenkrake Google fischt Informationen über Einkäufe ab, die GMail Nutzer im Netz tätigen. Gruß Uwe

Datenschutz
TeamViewer gehackt !
Information von aqui vor 1 TagDatenschutz7 Kommentare

Hat schon einen Grund warum verantwortungsvolle Admins diese Software nicht einsetzen und sie in den meisten größeren Firmen aus ...

Heiß diskutierte Inhalte
Windows 10
Windows am MAC
Frage von LeeX01Windows 1015 Kommentare

Guten Abend zusammen, ich habe gerade ein Macbook Pro vor mir welches ich mit einem Windows 10 to go ...

Linux Userverwaltung
Ist sudo auf Servern Pflicht?
gelöst Frage von lcer00Linux Userverwaltung13 Kommentare

Hallo zusammen, wir haben für einige Netzwerkdienste einige Debian Server. Auf diesen Servern arbeiten keine Benutzer im eigentlichen sinne. ...

Humor (lol)
Mitarbeiter meldet: VPN funktioniert nicht
gelöst Frage von Epixc0reHumor (lol)13 Kommentare

Servus, einer unserer Mitarbeiter meldete heute, sein VPN funktioniert Zuhause nicht, im LTE Netz aber schon. Per Teamviewer hin ...

Batch & Shell
Powershell Datum der zuletzt eingespielten Patche bei remote Servern ermitteln
Frage von bensonhedgesBatch & Shell12 Kommentare

Hallo, ich möchte gerne anhand einer Serverliste (bsp. computers.txt) via PS ermitteln, wann derjeweilige Server zuletzt gepatcht wurde (Liste ...