Если в редакторе скрипта (проц. или функцции) выделить переменную, то она подсветится во ВСЕХ встречающихся местах - это работает и правильно, имхо, работает.
Но вот если компилировать скрипт, то перед компиляцией он проверит наличие этой переменной НЕ во всех местах.
Например:
Код: Выделить всё
SET _var = ...; -- тут предкомпилятор ее "видит"
SET ... = CONCAT('...', CAST(_var AS CHAR), '...'); -- тут предкомпилятор ее НЕ видит и НЕ проверяет на объявленность
IF function_1(_var, ....., _var /2) THEN... -- равно как и здесь не видит или в UDF
SET ... = IF(TRUE, CAST(_var AS CHAR), '');
М.б. стоит использовать хорошо работающий механизм поиска имен из редактора вместо того, что используется сейчас.
С уважением.