Tôi đang cố gắng sử dụng câu lệnh đã chuẩn bị trong bàn làm việc mysql trong một con trỏ. Con trỏ hoạt động trên một tập dữ liệu rất lớn để nó được thực thi nhiều lần. Mỗi lần một kết quả mới được hiển thị cho bước EXECUTE. Kết quả này cuối cùng trong mysql workbench bị rơi vì quá nhiều cửa sổ kết quả mở.Làm thế nào bạn có thể vô hiệu hóa kết quả đầu ra cho lệnh mysql EXECUTE trong bàn làm việc
Trong con trỏ tôi làm điều gì đó như thế này:
PREPARE stmt2 FROM @eveningQuery;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;
Thông thường tôi sử dụng công cụ như
set aVar = (EXECUTE stmt2);
để bịt miệng truy vấn nhưng EXECUTE không hoạt động như thế.
Có ai biết cách bạn có thể tắt đầu ra cho lệnh EXECUTE trong mysql không?
Lưu ý: Tôi hiểu làm thế nào tôi có thể lấy lại dữ liệu trong một biến, tuy nhiên những gì tôi muốn ngăn chặn là nó sẽ được hiển thị trong phần tổng quan kết quả như thế này
Điều này sẽ làm mysql-workbench sụp đổ khi looped quá nhiều.
chỉnh sửa vì được hỏi ví dụ về @eveningQuery.
SET @eveningQuery = CONCAT ('chọn @resultNm: = tồn tại (chọn idSplitBill từ tb_SplitDay nơi idSplitBill =', idSplitBillVar, 'và', @columnNameEv, '= 1 và softdelete = 0)');
idSplitBillVar = id đến từ con trỏ. @columnNameEv = một cột mà tôi đang điền vào một cách khác nhau.
Tôi đã thêm thông tin này vì nó được hỏi, tuy nhiên nó không thực sự quan trọng trong quan điểm của tôi bởi vì câu hỏi vẫn đứng ngay cả với truy vấn đơn giản nhất. Khi bạn thực hiện một câu lệnh chuẩn bị, bạn sẽ nhận được một kết quả đầu ra. Tôi chỉ muốn vô hiệu hóa hành vi này.
Chỉ cần ghi đè lên, nhưng ý của bạn là "thủ tục lưu sẵn" thay vì "con trỏ"? – RandomSeed
Cảm ơn bạn đã bình luận. Nó là một con trỏ được định nghĩa trong một thủ tục lưu sẵn, nhưng tôi không nghĩ rằng điều đó thay đổi rất nhiều. –
Bạn có thể hiển thị ví dụ về @eveningQuery quaery không? – Devart