даже после выполнения хранимой процедуры «операнд должен содержать один столбец» выдает ошибку, не способную понять - PullRequest
0 голосов
/ 16 января 2020
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 Ответ

0 голосов
/ 16 января 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...