Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách sử dụng đầu ra của Bảng từ Thủ tục MYSQL được lưu trữ

Điều này không thể được thực hiện trực tiếp bởi vì đầu ra của một lựa chọn không giới hạn trong một thủ tục được lưu trữ là một tập kết quả được gửi đến máy khách, nhưng không phải là một bảng về mặt kỹ thuật.

Cách giải quyết là để proc đưa dữ liệu vào một bảng tạm thời sau khi tạo bảng cho bạn. Bảng này sẽ chỉ có sẵn cho kết nối của bạn khi quy trình kết thúc. Nó sẽ không gây ra xung đột nếu ai đó khác chạy proc cùng lúc và sẽ không hiển thị với bất kỳ kết nối nào khác.

Thêm điều này vào quy trình:

DROP TEMPORARY TABLE IF EXISTS foo;
CREATE TEMPORARY TABLE foo SELECT ... your existing select query here ...;

Khi thủ tục của bạn kết thúc, SELECT * FROM foo; sẽ cung cấp cho bạn những gì bạn sẽ nhận được từ chương trình. Bạn có thể tham gia vào nó khá giống như bất kỳ bàn nào.

Khi bạn hoàn tất, hãy thả nó xuống hoặc nó sẽ tự biến mất khi bạn ngắt kết nối. Nếu bạn chạy lại chương trình, chương trình sẽ bị xóa và được tạo lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đang cố gắng TẢI THÔNG TIN DỮ LIỆU bằng REPLACE và AUTO_INCREMENT

  2. Meteor with mysql

  3. Nhận dữ liệu giữa hai ngày trên MySQL

  4. thực thi php thông qua mysql?

  5. Không thể lấy số hàng và tìm nạp khi sử dụng câu lệnh chuẩn bị MySQLi