даже после выполнения хранимой процедуры «операнд должен содержать один столбец» выдает ошибку, не способную понять

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sample`(IN `feename` VARCHAR(50), IN `feemslno` INT(11))
BEGIN

SELECT id INTO @f FROM s_menu where name='FEES' LIMIT 1; 

INSERT INTO s_menu (name, mslno, parentid,url,roles) 
    SELECT (feename, feemslno, @f,'feeblank.php','All,Notview,sysadmin')
    WHERE NOT EXISTS (SELECT * FROM s_menu WHERE url='feeblank.php' 
                        AND name='Reports'); 

SELECT id INTO @c FROM s_menu where url='feeblank.php' LIMIT 1; 

UPDATE s_menu SET parentid=@c WHERE url = 'fee_dues_details_with_jTable_ver3.php' 
    AND id!=1;
UPDATE s_menu SET parentid=@c WHERE url = 'fee_dues_summary_with_jTable_ver_3.php' 
    AND id!=1;
UPDATE s_menu SET parentid=@c WHERE url = 'fee_dues_summary_class_section_wise_with_jTable_ver_2.php' 
    AND id!=1;
UPDATE s_menu SET parentid=@c WHERE url = 'fee_dues_summary_school_wide_with_jTable_ver_2.php' 
    AND id!=1;
END$$
DELIMITER ;

Всего 1 ответ


Снимите квадратные скобки в выражении SELECT (feename, feemslno, @f,'feeblank.php','All,Notview,sysadmin') и я отмечаю, что в вашем предыдущем вопросе была неразрешенная дискуссия об использовании DUAL - у меня есть попробовал ваш код и без двойного я получаю синтаксическую ошибку.


Есть идеи?

10000