Хранимая процедура вставки запроса - PullRequest
0 голосов
/ 27 августа 2018

Это мой код.

CREATE PROCEDURE add_new_user(IN VARCHAR(30) UName)
BEGIN
INSERT INTO `tbl_user_details` (`Name`) VALUES(UName);
END

Когда я запускаю этот запрос, он показывает ошибку

Код ошибки: 1064 У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'END' в строке 1

Пожалуйста, дайте мне исправление.

Ответы [ 2 ]

0 голосов
/ 27 августа 2018
DELIMITER//
USE db_name//
CREATE PROCEDURE add_new_user(IN UName VARCHAR(30))
BEGIN
INSERT INTO `tbl_user_details` (`Name`) VALUES(UName);
END//
DELIMITER ;
0 голосов
/ 27 августа 2018

Если в процедуре только 1 оператор, вам не нужно устанавливать разделители или использовать оператор begin..end.

MariaDB [sandbox]> drop procedure if exists p;
Query OK, 0 rows affected (0.00 sec)

MariaDB [sandbox]> CREATE PROCEDURE p(IN UName VARCHAR(30) )
    -> INSERT INTO `tbl_user_details` (`Name`) VALUES(UName);
Query OK, 0 rows affected (0.00 sec)

MariaDB [sandbox]> show create procedure p;
+-----------+--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Procedure | sql_mode                                   | Create Procedure                                                                                                             | character_set_client | collation_connection | Database Collation |
+-----------+--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| p         | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` PROCEDURE `p`(IN UName VARCHAR(30) )
INSERT INTO `tbl_user_details` (`Name`) VALUES(UName) | cp850                | cp850_general_ci     | latin1_swedish_ci  |
+-----------+--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.00 sec)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...