insert() from a select() is currently a TODO.
On Jan 19, 2009, at 1:13 PM, MikeCo wrote:
>
> I have a use case where detail data is collected during operation then
> copied periodically to a history table. In SA, tables look something
> like this:
>
> #history data
> history = Table('history', metadata,
> Column('id', Integer, primary_key=True),
> Column('naturalkey', String, unique=True, nullable=False),
> Column('data', String, nullable=False)
> )
> #daily detail data
> detail = Table('detail', metadata,
> Column('id', Integer, primary_key=True),
> Column('naturalkey', String, unique=True),
> Column('data', String, nullable=False)
> )
>
> Copying the data using SQL can be accomplished in one statement by
> inserting into history the data selected from detail. Using SA I can
> accomplish this using text() to construct a statement
>
> stmt = text("""INSERT INTO history (naturalkey, data)
> SELECT naturalkey, data FROM detail""")
> conn.execute(stmt)
>
> Is there some way to construct the statement using higher level
> construct than text()? For efficiency, I would want to get the same
> SQL generated, not a series of inserts or even an executemany()
> construct.
>
> I have tried a couple of variations combining history.insert() and
> detail.select() without success.
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---