20190719存储过程学习心得

一、如何判断新增字段是否存在

IF NOT EXISTS (

SELECT * FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='vrv_paw_rule' AND column_name='thresholdMin') -- 判断新建的字段是否存在

THEN

       ALTER TABLE vrv_paw_rule ADD COLUMN thresholdMin BIGINT;

ELSE

        ALTER TABLE vrv_paw_rule  MODIFY COLUMN thresholdMin BIGINT ;

ENDIF;

二、游标使用,他人分享链接 https://www.cnblogs.com/alex-hrg/articles/9895082.html

三、查询系统全局变量 SHOW GLOBAL VARIABLES or  SHOW VARIABLES查看单个变量方法

SHOW GLOBAL VARIABLES LIKE 'sql_safe_updates' or ELECT @@sql_safe_updates。他人分享链接 https://www.cnblogs.com/qlqwjy/p/8046592.html

四、创建存储过程注意要点

        1、定义的存储过程有OUT变量,在调用该存储过程时一定要放一个全局变量(随便定义一个未使用的全局变量)。比如CREATE PROCEDURE tsum(IN a INT, IN b INT, OUT c INT)....调用 CALL tsum(2,5,@result)

        2、declare定义变量,只能在函数和存储过程等内部使用, 如 declare x int default 0   定义一个默认值为0的int型变量

        3、在使用IF和CASE,每一条语句需要用 分号‘;’结束

        4、表连接比子查询作where条件效率高些

        5、delimiter 定义新的结束符,因MySQL的结束符为分号‘;’;程序块结束需定义新的结束符,使用完后,需把分号‘;’定义回来,因此在程序块结束后加上‘delimiter ;’

        6、判断与循环一起使用时,判断语句中嵌套循环语句

你可能感兴趣的:(20190719存储过程学习心得)