2009-12-03 32 views
6

Tôi muốn tạo một bảng tạm thời trong SQLAlchemy. Tôi có thể xây dựng câu lệnh CREATE TABLE với mệnh đề TEMPORARY bằng cách gọi table._prefixes.append('TEMPORARY') đối với đối tượng Table, nhưng ít thanh lịch hơn table.select().prefix_with() được sử dụng để thêm tiền tố vào biểu thức ngôn ngữ thao tác dữ liệu.Tôi có thể tạo TABLE TEMPORARY trong SQLAlchemy mà không cần thêm vào Table._prefixes không?

Có tương đương với .prefix_with() cho DDL không?

Trả lời

7

Không, prefix_with() được xác định cho chỉ SELECT và INSERT. Nhưng cách thuận tiện để thêm tiền tố vào câu lệnh CREATE TABLE là chuyển nó vào định nghĩa bảng:

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

Tôi đang cố tạo một bảng tạm thời trông giống như một bảng được phản ánh. Nó làm tổn thương nhiều rắc rối hơn là giá trị, cố gắng lấy các đối tượng Bảng mới từ các đối tượng hiện có thay vì tạo ra một hàm trả về một số đối tượng Bảng tương tự. – joeforker

Các vấn đề liên quan