MYSQL Cursor Problem

Tiger2009

Mitglied
So bin am Wochenende auf ein neues Problem gestoßen. Und zwar bin ich immernoch bei der Konvertierung von MSSQL zu MYSQL. Die SQL Statements werden alle über Java abgefeuert.

Bisher sah so ein Statement wie folgt aus:
Code:
DECLARE cursorname CURSOR SCROLL FOR SELECT DISTINCT keyCar [carIdent] FROM tblCar WHERE keyCar=10 OPEN cursorname

Da soviel ich weiß MySQL diese Syntax nicht unterstützt habe ich ein wenig in der Konsole getestet und ich denke folgendes MYSQL Statement könnte einigermassen passen:

Code:
mysql> delimiter //
mysql> create procedure testfunction()
    -> begin
    -> declare cursorname cursor for SELECT DISTINCT keyCar `carIdent` FROM tblCar WHERE keyCar=10;
    -> open cursorname;
    -> end;
    -> //

Ist dies so korrekt oder habe ich hier bereits einen Fehler?
Mein nächstes Problem ist dies per Java aufzurufen, da ich dort das komplette SQL Statement per String übergebe und ausführe. Jedoch weiß ich nicht wie ich diese komplette Procedure aufrufen kann.

Wäre klasse wenn jemand eine Idee hätte.

Vielen Dank
 
Und zur Infos für alle die mit demselben Problem über Google hier landen. Was war falsch?
 
Sorry !

Der Aufbau meiner Procedure hat gepasst!
Aufgerufen habe ich das ganze per Java wie folgt:

Code:
sqlstatement=
	        "create procedure funktionsname() " +
	          "begin " +
	            "declare " + cursorname + " cursor for " + IRGEND_EIN_SQLSTATEMENT+ "; " 
                 +    "open " + cursorname + "; "  + 
                  " MACHWAS;" + 
                  " close cursorname;"
	          "end";

statement = connection.createStatement();
statement.execute(sqlstatement);
sqlstatement = "{call funktionsname"}";
statement.executeCallableStatement(sqlstatement);

So hatte ich es.

Mein Fehler war da das ich dachte das ich in einer SQL Anweisung ein Cursor öffnen kann
und in einer späteren auf den Cursor zugreifen kann.
Dem ist ja leider nicht so und ich muss alles was mein Cursor betrifft in einer Stored Procedure abarbeiten.
 

Neue Beiträge

Zurück