重新声明或重新定义

如果您在同一语句块中将相同变量定义两次,则会收到错误消息。您可以在嵌套块中重新定义变量,在此情况下它临时隐藏外层声明。以下示例会产生错误:
CREATE PROCEDURE example1() 
        DEFINE n INT; DEFINE j INT;
        DEFINE n CHAR (1);    -- redefinition produces an error
重新声明在以下示例中是有效的。在嵌套语句块中,n 是一个字符变量。在块之外,n 是一个整型变量。
CREATE PROCEDURE example2() 
        DEFINE n INT; DEFINE j INT;
        ...
        BEGIN
        DEFINE n CHAR (1);    -- character n masks global integer variable
        ...
        END;