mysql - MySQL存储过程语法问题
问题描述
我正在处理这个过程,但我不太熟悉在 MySQL 中编写存储过程,当我尝试创建存储过程时,如图所示,它一直告诉我第 9 行的语法不正确
DELIMITER//
CREATE PROCEDURE InsertUser (
IN new_USER_ID BIGINT,
IN new_USER_NAME VARCHAR(36),
IN new_ENCRYTED_PASSWORD VARCHAR(128),
IN new_ENABLED BIT,
IN select_Role_ID BIGINT)
BEGIN
DECLARE user_role_id BIGINT
SET user_role_id = (SELECT max(id) from USER_ROLE);
Insert into App_User(USER_ID, USER_NAME, ENCRYTED_PASSWORD, ENABLED)
values(new_USER_ID, new_USER_NAME, new_ENCRYTED_PASSWORD, new_ENABLED);
INSERT INTO USER_ROLE(ID, USER_ID, ROLE_ID)
values(user_role_id+1, new_USER_ID, select_Role_ID);
END;//
DELIMITER;
有人可以告诉我正确的语法应该是怎样的吗?
解决方案
下面是正确的使用方法delimiter
。见mysql 文档
DELIMITER //
CREATE PROCEDURE InsertUser (
IN new_USER_ID BIGINT,
IN new_USER_NAME VARCHAR(36),
IN new_ENCRYTED_PASSWORD VARCHAR(128),
IN new_ENABLED BIT,
IN select_Role_ID BIGINT)
BEGIN
Insert into App_User(USER_ID, USER_NAME, ENCRYTED_PASSWORD, ENABLED)
values(new_USER_ID, new_USER_NAME, new_ENCRYTED_PASSWORD, new_ENABLED);
INSERT INTO USER_ROLE(ID, USER_ID, ROLE_ID)
values(user_role_id+1, new_USER_ID, select_Role_ID);
END //
DELIMITER ;
推荐阅读
- intellij-idea - 如何在 IntelliJ 的空框架编辑器屏幕中更改字体大小?附件中的图片
- google-app-engine - Codeship 自定义脚本部署到 GAE:“python2:找不到命令”
- c++ - 如何从返回有符号整数的函数中返回错误
- symfony-4.2 - 无法安装 Symfony 4.2.10 版本
- r - 如何在带有模块的 navbarPage 中获取选定的 Tab-ID
- c# - 如何将圆 (vtkActor) 转换为点云数据 vtkPoint
- c# - 如何将空日期时间传递给具有 [require] 属性的 mvc 表单?
- javascript - 如何使用单个 js 制作或加载聊天应用程序 UI?
- python - 如何提取已作为参数传递给 Python 的 lambda 函数的函数名称?
- amazon-s3 - aws 与本地目录中存在的服务器文件夹同步