• mysql存储过程


    数据库存储过程

    1.无参数的存储过程

    USE `markmanger`$$
    DROP PROCEDURE IF EXISTS `test_sp2`$$
    CREATE DEFINER=`hao`@`%` PROCEDURE `test_sp2`()
        BEGIN
            UPDATE ContactBook SET CONTACTNAME='www111' WHERE CONTACTID=5;
         
        END$$   

    2.有参数的(无事务)

    2.1 输入参数的存储过程

    DELIMITER $$
    USE `markmanger`$$
    DROP PROCEDURE IF EXISTS `test_sp2`$$
    CREATE DEFINER=`hao`@`%` PROCEDURE `test_sp2`(uname VARCHAR(10),phoneum VARCHAR(10))
        BEGIN
        UPDATE ContactBook SET CONTACTNAME=uname WHERE CONTACTID=5;
        UPDATE ContactBook SET CONTACTPHONE=phoneum WHERE CONTACTID=5;
        END$$
    DELIMITER ;    

    调用

    CALL test_sp2('aa','bb');

    1.2输出参数的存储过程

    DELIMITER $$
    USE `markmanger`$$
    DROP PROCEDURE IF EXISTS `test_sp3`$$
    CREATE DEFINER=`hao`@`%` PROCEDURE `test_sp3`(OUT s VARCHAR(10))
        BEGIN
        SELECT COUNT(*) FROM ContactBook INTO s; 
        SELECT s;
        END$$
    DELIMITER ;

    调用

    CALL test_sp3(@S);

    3.带事务的存储过程

    DELIMITER $$
    USE `markmanger`$$
    DROP PROCEDURE IF EXISTS `test_sp4`$$
    CREATE DEFINER=`hao`@`%` PROCEDURE `test_sp4`()
        BEGIN 
        DECLARE t_error INTEGER DEFAULT 0;  
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;   
            START TRANSACTION;  
    
               SELECT COUNT(*) FROM ContactBook;
                             
            IF t_error = 1 THEN  
                ROLLBACK;  
            ELSE  
                COMMIT;  
            END IF;  
        END$$  
    DELIMITER ; 

    调用

    CALL test_sp4();
  • 相关阅读:
    实验三 编程、编译、连接、跟踪
    第三章 寄存器知识总结
    实验2 用机器指令和汇编指令编程
    实验1 查看cpu和内存,用机器指令和汇编指令编程
    第二章寄存器知识总结
    汇编语言第一章基础知识总结
    打印数字正方形
    打印空心正方形
    打印正方形
    整数运算
  • 原文地址:https://www.cnblogs.com/go4mi/p/5543683.html
Copyright © 2020-2023  润新知