Câu trả lời ngắn gọn: không.
Câu trả lời dài:
Chà, đó vẫn là không . Nhưng tôi sẽ cố gắng giải thích tại sao. Kể từ hôm nay, khi bạn chạy truy vấn, công cụ DB yêu cầu phải biết cấu trúc tập kết quả (số cột, tên cột, kiểu dữ liệu, v.v.) mà truy vấn sẽ trả về. Do đó, bạn phải xác định cấu trúc của tập kết quả khi bạn hỏi dữ liệu từ DB. Hãy nghĩ về nó:bạn đã bao giờ chạy một truy vấn mà bạn không biết trước cấu trúc tập kết quả chưa?
Điều đó cũng áp dụng ngay cả khi bạn select *
, chỉ là một cú pháp đường. Cuối cùng, cấu trúc trả về là "tất cả các cột trong (các) bảng như vậy".
Bằng cách tập hợp một chuỗi, bạn tự động tạo ra cấu trúc mà bạn mong muốn, trước khi yêu cầu tập kết quả. Đó là lý do tại sao nó hoạt động.
Cuối cùng, bạn nên biết rằng việc lắp ráp chuỗi động có thể về mặt lý thuyết và tiềm năng (mặc dù không thể xảy ra) giúp bạn có được một tập hợp kết quả với vô số cột. Tất nhiên, điều đó là không thể và nó sẽ thất bại, nhưng tôi chắc rằng bạn đã hiểu ý nghĩa của nó.
Cập nhật
Tôi đã tìm thấy điều này, điều này củng cố lý do tại sao nó không hoạt động.
Tại đây :
Tôi sẽ tiếp tục tìm kiếm và bổ sung ở đây.