2009-12-03 3 views
6

Ich möchte eine temporäre Tabelle in SQLAlchemy erstellen. Ich kann eine CREATE TABLE-Anweisung mit einer TEMPORARY-Klausel erstellen, indem ich table._prefixes.append('TEMPORARY') gegen ein Objekt Table aufrufen, aber das ist weniger elegant als table.select().prefix_with() verwendet, um ein Präfix zu Datenmanipulation Ausdrücke hinzuzufügen.Kann ich TEMPORARY TABLE in SQLAlchemy erstellen, ohne an Table._prefixes anzuhängen?

Gibt es ein Äquivalent zu .prefix_with() für DDL?

Antwort

7

Nein, prefix_with() ist nur für SELECT und INSERT definiert. Aber bequeme Möglichkeit, der CREATE TABLE-Anweisung ein Präfix hinzuzufügen, besteht darin, sie an die Tabellendefinition zu übergeben:

t = Table(
    't', metadata, 
    Column('id', Integer, primary_key=True), 
    # ... 
    prefixes=['TEMPORARY'], 
) 
+1

Ich habe versucht, eine temporäre Tabelle zu erstellen, die wie eine reflektierte Tabelle aussah. Es stellte sich später heraus, dass es mehr Probleme gab, als es wert war, indem versucht wurde, neue Tabellenobjekte von vorhandenen abzuleiten, anstatt eine Funktion zu erstellen, die mehrere ähnliche Tabellenobjekte zurückgibt. – joeforker