首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储过程不工作某些语法错误

问存储过程不工作某些语法错误
EN

Stack Overflow用户
提问于 2015-03-23 02:40:50
回答 1查看 23关注 0票数 0

我正在学习有关存储过程的知识,并编写了以下内容:

代码语言:javascript
复制
delimiter //

create procedure show_inv(in inv_num int)
    beign
    select * from items
    where items.invoice_num = inv_num;
    end
    //
    delimiter ;

这是一个简单的程序,其中插入了发票编号以进行查找。

我收到以下错误:

代码语言:javascript
复制
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from items
where items.invoice_num = inv_num;
end' at line 3

查询本身运行良好,但存储过程似乎有一个错误,我不知道它在哪里。

EN

回答 1

Stack Overflow用户

发布于 2015-03-23 02:45:46

在结束后,您将缺少;和begin的拼写错误,因此该过程将如下所示

代码语言:javascript
复制
delimiter //

create procedure show_inv(in inv_num int)
begin
select * from items
where items.invoice_num = inv_num;
end ; //
delimiter ;

这是一个测试用例,select来自不同的表,但rest all是相同的

代码语言:javascript
复制
mysql> select * from student ;
+---------------+----------+
| studentnumber | name     |
+---------------+----------+
|            11 | AAAAAAAA |
|            17 | BBBBBBB  |
|             8 | CCCCCCC  |
+---------------+----------+
3 rows in set (0.00 sec)

mysql> delimiter //
mysql> create procedure show_inv(in inv_num int)
    -> begin
    -> select * from student where studentnumber = inv_num ;
    -> end ; //
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;
mysql> call show_inv(11);
+---------------+----------+
| studentnumber | name     |
+---------------+----------+
|            11 | AAAAAAAA |
+---------------+----------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29198300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档