mysql如何创建存储过程?

mysql如何创建存储过程?,第1张

1 用mysql客户端登入

2 选择数据库

mysql>use test

3 查询当前数据库有哪些存储过程

mysql>show procedure status where Db='test'

4 创建一个简单的存储过程

mysql>create procedure hi() select 'hello'

5 存储过程创建完毕,看怎么调用它

mysql>call hi()

显示结果 mysql>call hi()

+-------+

| hello |

+-------+

| hello |

+-------+

1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)

6 一个简单的储存过程就成功了

创建存储过程

mysql>delimiter $ -- delimiter $是设置 $为命令终止符号,代替默认的分号,因为分号有其他用处.

mysql>create procedure sp_test(IN pi_id int, OUT po_name varchar(10))

->begin

->select * from test.tb_test

->select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id

->end

->$

Query OK, 0 rows affected (0.00 sec)

mysql>delimiter -- 恢复分号作为分隔终止符号

5.调用存储过程

mysql>set@po_name=''

Query OK, 0 rows affected (0.00 sec)

mysql>call sp_test(1,@po_name)

1、如果sql代码太长的话,要用分段执行。

2、你的存诸过程是生成sql脚本产生的话,注意:在SQL里GO是可以执行的。但在Tadoquery里是不行的,所以要把GO去掉。

3、你在给Tadoquery添加SQL语句时,如果你是从控件中读取sql语句,比如adoquery1.sql.add(memo.lines[i])注意整条语句不要让拆分,就是小心自动换行。

比如:

select

变成了

sel --这里换行了

ect

那他当然报语法错误了。

你把具体的报错信息贴出来看看!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7110212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存