Veröffentlicht 13. Januar 201015 j Hallo zusammen, ich habe durch meien Recherche nichts passendes gefunden. Ist Dynamisches SQL schon Dynamisches SQL wenn nur der folgende Code eingegeben wird? Oder ist es erst Dynamisch wenn Variablen im Statement stehen? String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "shop"; String password = "shop"; // JDBC-Treiber laden Class.forName(driver); // Verbindung aufbauen Connection con; con = DriverManager.getConnection(url, user, password); Vielen Dank im Voraus lg denny
13. Januar 201015 j Servus, ich habe mit dem Begriff "dynamisches SQL" zwar so noch nichts zu tun gehabt, würde mir darunter aber eher die Möglichkeit der Entwicklung von Stored Procedures vorstellen, also Prozeduren, die in SQL geschrieben werden. Das, was Du als Beispiel gepostest hast, ist ja bis dato noch überhaupt kein SQL, sondern Java (schätze ich). Wer hat denn den Begriff "dynamisches SQL" gebraucht und in welchem Kontext? Peter
13. Januar 201015 j Servus, ich habe mit dem Begriff "dynamisches SQL" zwar so noch nichts zu tun gehabt, würde mir darunter aber eher die Möglichkeit der Entwicklung von Stored Procedures vorstellen, also Prozeduren, die in SQL geschrieben werden. Das, was Du als Beispiel gepostest hast, ist ja bis dato noch überhaupt kein SQL, sondern Java (schätze ich). Wer hat denn den Begriff "dynamisches SQL" gebraucht und in welchem Kontext? Peter Hallo, Ich glaube, keine der beiden Definitionen ist korrekt (Der OP zeigt in seinem Beispiel das Aufbauen einer Connection zu Oracle, hat mit SQL noch nichts zu tum). Über Dynamic SQL (mindestens im Zusammenhang mit Oracle) redet man, wenn der *eigentliche* SQL dynamisch, also zur Laufzeit zusammengebaut wird. Das kann z.b. sein, dass für ein Suchformular in Abhängigkeit der ausgefüllten Suchfelder "dynamisch" eine WHERE Clause ins SQL gesetzt wird und der SQL anschliessend ausgeführt wird. Dazu mehr : Coding Dynamic SQL Statements Gruss
13. Januar 201015 j Deswegen wollte ich ja auch wissen, in welchem Kontext der Ausdruck gefallen ist, da ich ihn noch nicht kannte. Oracle habe ich bis jetzt nur als Datenspeicher verwendet, deshalb bin ich über die dort vorherrschenden Möglichkeiten der Anwendungsentwicklung nicht auf dem Laufenden. Peter
13. Januar 201015 j ....Oracle habe ich bis jetzt nur als Datenspeicher verwendet, deshalb bin ich über die dort vorherrschenden Möglichkeiten der Anwendungsentwicklung nicht auf dem Laufenden. Peter Kein Problem, wollte niemanden auf die Füsse treten. ...Dann wird es aber Zeit, das du Oracle etwas mehr zu tun gibst...es gibt viel zu entdecken
13. Januar 201015 j Nönö, auf meinen Füßen standest Du nicht? Ach, ich bin mit der Oracle als Datenkeller ganz zufrieden. Meine Kunden würden es nicht würdigen, wenn ich wüsste, wie man mehr damit macht. Mein Hauptaugenmerk liegt auf Java Enterprise mit Fokus Webanwendungen, da ist mir Oracle zu weit weg, um mal einen Umweg zum schauen zu machen. Schöne Grüße, Peter
16. Januar 201015 j Hallo erst mal vielen Dank für eure Antworten. Es ist eine Aufgabe aus der Schule die wir machen sollen. Wir programmieren in Java und sollen in einem kleinen Programm und einer kurzen (10min) Präsi Dynamisches SQL Präsentieren. Meiner Meinung nach ist es in der Hinsicht das, dass in dem SQL Statement Variablen stehen die durch eine Eingabe zur Laufzeit erst den "Wert" bekommen. Da dieses ja immer etwas anderes sein kann, denke ich das es das Dynamische SQL ist. Bin mir aber nicht ganz sicher. Falls ihr sonst noch Infos braucht sagt mir bescheid. Vielen Dank Denny
16. Januar 201015 j Hi, dynamisches SQL ist es dann, wenn es zu Laufzeit geparst wird. Das bedeutet, egal ob es mit oder ohne Parameter aufgerufen wird, es ist immer dynamisches SQL wenn Du z.B. in Java dafür ein Statement oder PreparedStatement brauchst um es abzuschicken. Statisches SQL wäre z.B. ein fest codiertes SQL Statement in einer PL/SQL Prozedur oder SQLJ. Der große Unterschied ist hier, dass zur Compiletime ein Precompiler über das Statement läuft und dort schon prüft ob es synataktisch korrekt ist. Ein Programm mit einem fehlerhaften statischem SQL wird nicht compiliert, handelt es sich um dynamisches SQL ist es komplett egal was Du da reinschreibst, denn die Korrektheit wird erst zur Laufzeit von der Datenbank selbst geprüft. Dim
17. Januar 201015 j Hallo, also so wie ich das verstehe, wäre das dann Dynamisches SQL in der hinsicht auf Java und der Aufgabe?!: Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM stichproben"); stmt.execute( "INSERT INTO Stichproben (CharNr,AktStckZahl,Mittelwert, Standardabweichung)" +"VALUES"+ "("+chargenNummer+","+stueckzahl+","+mittelwert+","+standardAbweichung+")");
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.