-- 在 MySQL 中,DECLARE 语句用于在存储过程或函数中声明局部变量、条件、游标和处理器。
-- 下面是一些常见的 DECLARE 用法示例。
-- 1. 声明变量
DELIMITER //
CREATE PROCEDURE example_proc()
BEGIN
-- 声明一个整型变量
DECLARE my_var INT DEFAULT 0;
-- 设置变量的值
SET my_var = 10;
-- 输出变量的值
SELECT my_var;
END //
DELIMITER ;
-- 2. 声明条件
DELIMITER //
CREATE PROCEDURE example_proc_with_condition()
BEGIN
-- 声明一个自定义条件
DECLARE custom_condition CONDITION FOR SQLSTATE '45000';
-- 触发该条件
SIGNAL custom_condition
SET MESSAGE_TEXT = 'This is a custom error message';
END //
DELIMITER ;
-- 3. 声明游标
DELIMITER //
CREATE PROCEDURE example_cursor_proc()
BEGIN
-- 声明游标
DECLARE my_cursor CURSOR FOR SELECT id FROM my_table;
-- 打开游标
OPEN my_cursor;
-- 使用游标(这里省略了具体逻辑)
-- 关闭游标
CLOSE my_cursor;
END //
DELIMITER ;
-- 4. 声明处理器
DELIMITER //
CREATE PROCEDURE example_handler_proc()
BEGIN
-- 声明一个处理异常的处理器
DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02'
BEGIN
-- 处理逻辑
SELECT 'Table does not exist';
END;
-- 可能会触发异常的操作
SELECT * FROM non_existent_table;
END //
DELIMITER ;
DECLARE
语句可以声明局部变量,并为其设置初始值。这些变量只能在存储过程或函数内部使用。SIGNAL
语句触发这些条件,抛出自定义错误信息。上一篇:mysql 定时备份数据
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站