首页 >数据库 >navicat >navicat怎么创建存储过程

navicat怎么创建存储过程

angryTom
angryTom原创
2019-08-05 11:33:4024526浏览

navicat怎么创建存储过程

navicat怎么创建存储过程?下面就为大家详细介绍一下其中涉及到的操作。

推荐教程:MySQL入门视频

1、使用Navicat Premium打开创建函数向导,操作:连接名——数据库——函数——新建函数

navicat41.png

2、选择过程——输入存储过程参数——完成(这一步可以不填写参数,编写存储过程代码的时候设置参数)

navicat42.png

navicat43.png

3、按照要求完成存储过程代码编写

 BEGIN 
    DECLARE t_error INTEGER DEFAULT 0;  
    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
# 保证数据一致性 开启事务 
    START TRANSACTION; 
# 获取需同步数据的时间节点(3个月前的第一天) 
# 即当前日期 2018-07-10  @upmonth 日期 2018-04-01 8
     SET @upmonth= DATE_ADD(CURDATE() - DAY (CURDATE()) + 1, INTERVAL - 3 MONTH);
# 迁移数据语句
    SET @sqlstr=CONCAT(‘INSERT INTO fd_aseet_record_back_3_6 
    SELECT * FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘);
# 删除数据语句
    SET @delsqlstr=CONCAT(‘DELETE FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘);
 #执行数据迁移
    PREPARE _fddatamt FROM @sqlstr;
    EXECUTE _fddatamt USING @upmonth;
    DEALLOCATE PREPARE _fddatamt;
#执行迁移后的数据删除
    PREPARE _fddatadel FROM @delsqlstr;
    EXECUTE _fddatadel USING @upmonth;
    DEALLOCATE PREPARE _fddatadel;
    IF t_error = 1 THEN  
       ROLLBACK;    #语句异常-回滚
    ELSE  
       COMMIT;    #提交事务
     END IF;  
   END

4、保存——输入存储过程名——确定

navicat44.png

    5、选择存储过程名——运行函数——查看结果

navicat45.png

navicat46.png

扩展资料

  存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。主要分为一下几类。

1系统存储过程

  以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。

2本地存储过程

  用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。

3临时存储过程

  分为两种存储过程:

  一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;

  二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。

4远程存储过程

  在SQL Server2005中,远程存储过程(Remote Stored Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和  EXECUTE命令执行一个远程存储过程。

5扩展存储过程

  扩展存储过程(Extended Stored Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。

以上是navicat怎么创建存储过程的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn