AW: To_Date wird nicht erkannt
Im Letzten Versuch fehlt nach dem Create [tablename] ein "as" vor dem Select.
Ansonsten scheint mir die Like Operation mit Doppelhochkomma verkehrt. Doppelhochkomma ist Delimiter für spezielle Spaltennamen in ORacle. Da es aber um einen String Wert geht, muss mit einfachen Hochkomma plus QuotedStr gearbeitet werden oder mit doppelten einfachen Hochkommata. |
AW: To_Date wird nicht erkannt
so ohne Handbuch, muß es nicht so sein:
Code:
Gruß
Insert Into Tabelle (Feld1,Feld2...) Values(Wert1,Wert2...)
K-H |
AW: To_Date wird nicht erkannt
Man kann entweder ein Create Table mit Select kombinieren
Create table [tablename] as [Select..] oder wie Du geschrieben hast oder insert into [tablename] ([Columns]) mit Select kombinieren. Im letzten Fall gehören glaub ich runde Klammern um das Select Edit: Geht mit und ohne Klammern, glaub das hab ich mit Update plus Select verwechselt. |
AW: To_Date wird nicht erkannt
Zitat:
Gruß K-H |
AW: To_Date wird nicht erkannt
Also..
Weder QuotedStr, noch
Delphi-Quellcode:
hat geklappt. Wenn ich bei Oracle ein AS benutze, sagt er mir das ich Syntaxfehler vorliegt. Irgendwie finde ich das ganze seltsam :/
Query.Sql.Add('AND a.IDNR LIKE ''%'+Variable+''' ');
PS: Momentane Version:
Delphi-Quellcode:
Query.Sql.Add('CREATE TABLE '+Tabelle+' ( Nummer real, IDNR real, IDNR2 real) '); Query.Sql.Add('SELECT a.TEST1, a.TEST2, b.TEST2'); Query.Sql.Add('FROM DATA_TEST2 a, DATA_TEST2 b '); Query.Sql.Add('WHERE a.IDNR= 4 '); Query.Sql.Add('AND b.IDNR= 5'); Query.Sql.Add('AND a.IDNR LIKE ''%'+Variable+''' '); Query.Sql.Add('AND a.IDNR2 = b.IDNR'); Database.StartTransaction; try Query.ExecSQL; Database.Commit; except on E: Exception do begin Database.Rollback; ShowMessage(E.Message); end; end; |
AW: To_Date wird nicht erkannt
Entweder so
Query.Sql.Add('AND a.IDNR LIKE '+QuotedStr('%'+Variable) ); oder so glaub ich Query.Sql.Add('AND a.IDNR LIKE ''''+'%'+Variable+'''' ); (ungetestet) Du solltest aber mal das "PassThrough Thema" klären, "Create Table Tablename as Select" geht mit Sicherheit -in Oracle. Ich kann mich nicht mehr erinnern, ob man BDE auf native Betrieb umstellen kann. Aber es wurde ja hier irgendwo gesagt. Wenn dann wäre noch die Frage, ob das per Query oder per Connection geht. Falls Du schon viel BDE -kompatibel entwickelt hast und nun die ganze Verbindung auf Native umstellst, fliegt Dir evtl. auch was um die Ohren. |
AW: To_Date wird nicht erkannt
Leider finde ich zum Thema PassThrough nicht wirklich viel Brauchbares.. :/
|
AW: To_Date wird nicht erkannt
Kurze Frage: Was ist real in Oracle für ein Datentyp? Ne Zahl, oder?
Dann kann man doch nicht mit "like" irgendwas vergleichen. |
AW: To_Date wird nicht erkannt
Ich habe es nun mit Integer gemacht. Und wie gesagt.. Alle Statements funktionieren im Toad for Oracle einwandfrei.
Das Like % steht lediglich dafür, dass davor noch beliebig viele (unbekannte) zeichen stehen können.. Da es sich immer nur um die letzten 4 handelt ;) |
AW: To_Date wird nicht erkannt
Trotzdem ist der Einwand äußerst berechtigt. LIKE ist lediglich für alphanumerische Felder zu gebrauchen (VARCHAR2 z.B.). Willst Du unbedingt LIKE auf Zahlen loslassen, dann solltest Du diese vorher casten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz