Seite 1 von 1

Gelöst: Temporäre Tabelle in MySql

Verfasst: Di, 15.07.2014 13:23
von WSO
Hi,
ich versuche meine reports mittels temporärer Tabelle (MySql) zu filtern und habe das Beispiel aus dem Handbuch hierfür adaptiert.
Das Makro zum Anlegen der Tabelle wird bei "Ansicht wurde erzeugt" der DB durchlaufen, ich kann nur die tmp-Tabelle nicht finden.
Hängt das Makro am falschen Ereignis?
Zeigt Base die tmp-Tabellen nicht an?
... ?

Code: Alles auswählen

SUB Systemstart     

	call GlobalsBelegen
	call Datenbankbackup
	call TempTabelle 
	call Hauptformular_oeffnen
	
end sub

SUB TempTabelle     ' legt eine temporäre Tabelle zum Filtern an (z.B.fuer reports)

	DIM oDatasource AS OBJECT
	DIM oConnection AS OBJECT
	DIM oDatenquelle AS OBJECT
	DIM oVerbindung AS OBJECT		
	DIM oSql AS OBJECT		

	DIM stSql AS STRING

	oDatenquelle = thisDatabaseDocument.CurrentController
	IF NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect()
	
	oVerbindung = oDatenquelle.ActiveConnection()
	
	oSql = oVerbindung.createStatement()
	stSql = "CREATE TEMPORARY TABLE IF NOT EXISTS `red`.`suchtmp` (`tmp_id` INT PRIMARY KEY, `tmp_filter` INT, `tmp_name` VARCHAR(50))"
	oSql.executeUpdate(stSql)
	
END SUB
Gruss,
WSO

Re: Temporäre Tabelle in MySql

Verfasst: Di, 15.07.2014 21:57
von RobertG
Hall Wolfram,

versuche doch einmal in die Tabelle etwas rein zu schreiben und dann anschließend damit zu arbeiten. Kann gut sein, dass Du temporäre Tabellen nicht zu Gesicht bekommst, weil die die ganze Zeit im Arbeitsspeicher liegen und gar nicht auf die Platte geschrieben werden.

Gruß

Robert

Re: Temporäre Tabelle in MySql

Verfasst: Mi, 16.07.2014 07:25
von DPunch
Servus

Temporäre Tabellen (die standardmäßig auf Platte geschrieben werden und nur mit dem Zusatz ENGINE=MEMORY im Arbeitsspeicher landen), werden von MySql nicht gelistet, auch nicht in den entsprechenden Info-Tabellen (information_schema.tables).

Re: Temporäre Tabelle in MySql

Verfasst: Mi, 16.07.2014 13:43
von WSO
Hallo DPunch,
danke fuer die info.
Dann muss ich ja nur noch die relavanten queries (aus der HSQL-Version der Anwendung) in SQL nachbauen und es sollte gehen.
Sonnige Gruesse,
WSO