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

Konvertierung SQL-Script von MSSQL auf SQLPLUS (Oracle)

Frage Entwicklung Datenbanken

Mitglied: JulianB

JulianB (Level 1) - Jetzt verbinden

23.11.2009, aktualisiert 16:42 Uhr, 6540 Aufrufe, 3 Kommentare

Ich habe ein SQL-Script welches problemlos auf einem MSSQL 2008er Server läuft, dieses Skript muss ich nun auf einer Oracle-DB mit SQLPLUS zum laufen bekommen, nur weiß ich leider nicht wie!

Hallo Zusammen,

ich habe ein Skript welches unter einem MSSQL 2008 Server wunderbar läuft. Das Skript ist selbstgeschrieben, die Funktion zu erläutern würde wirklich sehr lange dauern und den Rahmen sprengen. Naja, aber wie gesagt es funktioniert ja.
Nun mein Problem, ich muss dieses Skript nun unter Oracle via SQLPLUS zum laufen bekommen, das gestaltet sich als recht schwierig. Ich bin ein absoluter Neuling was SQL angeht und bin eigentlich froh wenn ein Skript mal funktioniert.
Nun meine Frage: Könnt ihr mir bitte helfen und erklären wie ich das u.s. Skript unter SQLPLUS zum laufen bekomme und wo meine Fehler sind bzw. warum, was falsch ist? Schließlich will ich ja auch lernen

Erstmal hier mein SQL-Skript weitestgehend an SQLPLUS angepasst:
01.
SELECT		TO_CHAR(DATE,'YYYY-MM-DD') AS Datum, 
02.
		TO_CHAR(RUN,'HH24:MI:SS ') AS Lauf, 
03.
		NAME AS Läufer,  
04.
		DESCRIPTION AS Beschreibung 
05.
FROM		INFO  RIGHT OUTER JOIN 
06.
		H_PRO  RIGHT OUTER JOIN 
07.
		T_PRO  RIGHT OUTER JOIN 
08.
		SCHEDULE  RIGHT OUTER JOIN 
09.
		OBJECT ON T_PRO.UID = OBJECT.UID ON  
10.
		SCHEDULE.KEY = T_PRO.KEY ON H_PRO.KEY = SCHEDULE.KEY  
11.
AND		H_PRO.DATE = SCHEDULE.DATE  
12.
AND		H_PRO.S_KEY = T_PRO.S_KEY ON INFO.JEY = H_PRO.JEY 
13.
WHERE		TO_CHAR(DATE,'MM')='11'  
14.
AND		TO_CHAR(DATE,'YYYY')='2009'  
15.
AND		OBJECT.UID IN (SELECT UID FROM OBJECT_LIST WHERE TYPE = 'USER')  
16.
ORDER BY	INFO.DATE;
Im SQLPLUS bekomme ich jetzt folgende Meldung:
01.
OBJECT ON T_PRO.UID = OBJECT.UID ON 
02.
03.
 
04.
FEHLER in Zeile 10: 
05.
ORA-00904: "T_PRO"."UID": ungültiger Bezeichner 
Ich weiß wirklich nicht weiter,...

Wäre super wenn ihr mit beim "Übersetzen" helfen könntet!

Liebe Grüße,
Julian
Mitglied: 32067
23.11.2009 um 16:31 Uhr
Hallo,

ich würde den Teil mit den ganzen INNER JOINS entweder mit Klammern versehen (t1 INNER JOIN (t2 INNER JOIN on ...) on ...) oder umbauen auf t1 INNER JOIN t2 on ... INNER JOIN t3 on ... , so sieht mir das irgendwie "seltsam" aus, was aber nicht ausschließen soll, daß es doch auch so richtig ist
Bitte warten ..
Mitglied: JulianB
23.11.2009 um 16:43 Uhr
Du meinst RIGHT OUTER JOIN, aber ich versuch das mal. Mein Problem an der Sache ist, der Teil mit den Joins ist halt noch die SQL von MSSQL genau dieser Part ist es den ich in Oraclegängiges SQL umgesetzt haben muss.
Bitte warten ..
Mitglied: Biber
23.11.2009 um 17:09 Uhr
Moin JulianB,

ich würde zumindest zwei Umformulierungen vornehmen.
1) insbesondere das Feld DATE kommt in mehreren Tabellen (INFO, SCHEDULE und H_PRO) vor, aber auch die anderen Felder, die in der SELECT-Feldliste und im WHERE angesprochen werden, sollten eindeutig mit Präfix angesprochen werden.

2) wenn du doch ohnehin ausschließlich INNER JOINs verwendest, dann schreibe es doch auch lesbar

01.
SELECT		TO_CHAR(??.DATE,'YYYY-MM-DD') AS Datum, 
02.
		TO_CHAR(??.RUN,'HH24:MI:SS ') AS Lauf, 
03.
		??.NAME AS Läufer,  
04.
		??. DESCRIPTION AS Beschreibung 
05.
FROM		INFO i, H_PRO h, T_PRO t, SCHEDULE s, OBJECT o  
06.
WHERE           t.UID = o.UID 
07.
AND		s.KEY = t.KEY  
08.
AND             h.KEY = s.KEY AND h.DATE = s.DATE  
09.
AND		h.S_KEY = t.S_KEY  
10.
AND              i.JEY = h.JEY 
11.
AND		TO_CHAR(??.DATE,'MM')='11'  
12.
AND		TO_CHAR(??.DATE,'YYYY')='2009'  
13.
AND		o.UID IN (SELECT UID FROM OBJECT_LIST WHERE TYPE = 'USER')  
14.
ORDER BY	i.DATE;
Bei allem,. wo jetzt ein ?? als Präfix steht, sinnvollerweise den richtigen Buchstaben einsetzen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - Datenbank Oracle SQLPLUS
Beitrag von 1 Kommentar

Frage von internet2107 zum Thema Batch & Shell

Datenbanken
Skript - Oracle Datenbank
Beitrag von 1 Kommentar

Frage von tweety2007 zum Thema Datenbanken

Datenbanken
MSSQL-Zugriffsproblem
Beitrag von 3 Kommentare

Frage von petere zum Thema Datenbanken

Batch & Shell
Powershell - Zugriff auf Datenbank - Ausführen eines SQL Scripts
Beitrag von

Frage von internet2107 zum Thema Batch & Shell

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Beitrag von 4 Kommentare

Anleitung von colinardo zum Thema MikroTik RouterOS

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Beitrag von

Information von BassFishFox zum Thema Sicherheit

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Beitrag von 5 Kommentare

Information von admtech zum Thema Administrator.de Feedback

Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10