欢迎投稿

今日深度:

mysql 生成完整的存储过程定义语句,mysql存储过程

mysql 生成完整的存储过程定义语句,mysql存储过程


 

SELECT   CONCAT('PR_', p.db,'.',p.name ) FileName ,
CONCAT(
'
DELIMI','TER $$

USE `',p.db,'`$$

DROP PROCEDURE IF EXISTS `',p.name, '`$$

CREATE DEFINER=','`',
LEFT(DEFINER, -1+LOCATE('@',DEFINER)),
'`@`',
RIGHT(DEFINER,LENGTH(DEFINER)-LOCATE('@',DEFINER)),
'`'
,' PROCEDURE `',p.name ,'`(',p.param_list,')
',p.body_utf8,
'$$

DELIMI','TER ;
' ) AS sql_create 
FROM mysql.proc AS p 
WHERE p.db LIKE '%'
AND TYPE LIKE 'PROC%'
ORDER BY p.db,p.name ;


MySQL里面sql语句调用存储过程,该怎写?

call sp_add();
是不是你定义的过程有问题吧,并没有指出返回结果来
像我这样是可以的:

CREATE PROCEDURE sp_add(a int, b int,out c int)
begin

set c=a+ b;

end;
调用过程:
call sp_add (1,2,@a);
select @a;
 

mysql怎在不创建函数或者存储过程的时单独执行块内的语句

mysql没有块的概念,单独的块,如下
BEGIN
INSERT INTO liu_test VALUE ('aa','bb');
END
这种块是不能执行的。
单独块执行最好的办法还是建存储过程,执行结束再删除存储过程 。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4063.html NewsArticle mysql 生成完整的存储过程定义语句,mysql存储过程 SELECT CONCAT(PR_, p.db,.,p.name ) FileName ,CONCAT(DELIMI,TER $$USE `,p.db,`$$DROP PROCEDURE IF EXISTS `,p.name, `$$CREATE DEFINER=,`,LEFT(DEFINER, -1+LOCATE(@,DEFINER)),`@`...
评论暂时关闭