mysql 无法创建存储过程_MySQL的.无法创建存储过程

我正在尝试创建我的第一个mysql存储过程,但由于某些语法错误,脚本无法正常工作.对于熟悉mysql数据库的人来说,这个问题看起来很容易.

表创建脚本:

CREATE TABLE `companies` (

`id` INT(10) NOT NULL AUTO_INCREMENT,

`name` TINYTEXT NOT NULL,

`full_name` TINYTEXT NULL,

`region_id` INT(11) NULL DEFAULT NULL,

`address` TINYTEXT NULL,

`legal_address` TINYTEXT NULL,

`main_phone` TINYTEXT NULL,

`inn` TINYTEXT NULL,

`bank` TINYTEXT NULL,

`bic` TINYTEXT NULL,

`bank_account` TINYTEXT NULL,

PRIMARY KEY (`id`),

UNIQUE INDEX `U_COMPANY_MAIN_PHONE` (`main_phone`(100)),

INDEX `FK_COMPANY_REGION_ID` (`region_id`),

CONSTRAINT `FK_COMPANY_REGION_ID` FOREIGN KEY (`region_id`) REFERENCES `regions` (`id`)

)

存储过程代码是:

create procedure add_company(

in p_name TINYTEXT,

in p_full_name TINYTEXT,

in p_region_id INT,

in p_address TINYTEXT,

in p_legal_address TINYTEXT,

in p_main_phone TINYTEXT,

in p_inn TINYTEXT,

in p_bank TINYTEXT,

in p_bic TINYTEXT,

in p_bank_account TINYTEXT

)

begin

insert into companies(

name,

full_name,

region_id,

address,

legal_address,

main_phone,

inn,

bank,

bic,

bank_account

)

values (

p_name,

p_full_name,

p_region_id,

p_address,

p_legal_address,

p_main_phone,

p_inn,

p_bank,

p_bic,

p_bank_account

);

end;

有谁知道错误在哪里?

解决方法:

因为在过程体中使用分号(;)作为分隔符,所以外部CREATE命令必须使用不同的分隔符.

DELIMITER $$

CREATE PROCEDURE add_company(

...

)$$

DELIMITER ;

标签:mysql

来源: https://codeday.me/bug/20190726/1540175.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值