Zum Inhalt springen

Frage zu: Dynamisches SQL


dennylee

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

....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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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+")");						

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...