我使用按照下列哪種光標代碼編寫存儲過程(我用phpMyAdmin來執行代碼MYSQL光標執行問題
create procedure cursorproc(OUT p_out DECIMAL(10,2))
begin
declare l_salary, l_total DECIMAL(10,2);
declare cur_1 cursor for select line_distance from elements;
open cur_1;
set l_total = 0;
loop
fetch cur_1 into l_salary;
set l_total = l_total + l_salary;
end loop;
close cur_1;
set p_out = l_total;
end;
而且表模式:
CREATE TABLE IF NOT EXISTS `elements` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`distance` int(11) NOT NULL,
`repeat` int(2) NOT NULL,
`interval` varchar(11) NOT NULL,
`eta` varchar(11) NOT NULL,
`best` varchar(11) NOT NULL,
`line_distance` int(5) NOT NULL,
`line_time` varchar(11) NOT NULL,
`intensity` varchar(11) NOT NULL,
`description` varchar(255) NOT NULL,
`best_time_event` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=215 ;
我正在以下錯誤:
ERROR - #1329 - No data - zero rows fetched, selected, or processed
可以採取什麼問題,請幫助
使用存儲過程,其因爲我不知道如何從PHP頁面調用遊標?存儲過程將至少返回一些數據,這就是爲什麼我使用了存儲過程。 – user580950
此外,我試圖用它拋出同樣的錯誤 – user580950
@ user580950您選擇查詢 - 您是否嘗試過建議的查詢,而無需打開遊標?只要運行它。 – Devart