我注意到在mysql中,爲什麼要準備一個動態查詢,它需要我認爲是一個全局變量。有沒有辦法將變量的範圍限制在開始和結束語句之間?以下是我的測試腳本,它返回limitCnt變量的值10。存儲過程中的變量作用域?
delimiter //
drop procedure if exists testProc//
create procedure testProc()
begin
-- DECLARE limitCnt INT default 10;
SET @limitCnt = 10;
PREPARE stmt FROM 'SELECT * FROM `participants` LIMIT ?';
EXECUTE stmt USING @limitCnt; -- the using part of the execute does not like the local variable
DEALLOCATE PREPARE stmt;
end//
call testProc()//
select @limitCnt//
drop procedure testProc//
delimiter ;