今天偶遇bug identifier ‘A’ must be declared(A是输入的字符)
看图
报错:
虽然图中还有几个问题,但是在本问题被解决后都没了,所以我们就不管它了
类似的原代码为
DECLARE
V_PUT varchar2(50) := &put;
BEGIN
IF V_PUT = 'A' THEN
dbms_output.put_line('啦啦啦');
ELSIF V_PUT ='B' THEN
dbms_output.put_line('嘻嘻嘻');
END IF;
END;
原因: 定义形参使用& ,如果是字符类型需要使用 ’ ’ 引起来,而我这里并没有使用单引号把我的形参引起来,所以就报错了
注:是用英文字符的单引号
解决办法:
使用 ’ ’ 把自己定义的形参括起来就OK了
解决后的代码
DECLARE
V_PUT varchar2(50) := '&put';
BEGIN
IF V_PUT = 'A' THEN
dbms_output.put_line('啦啦啦');
ELSIF V_PUT ='B' THEN
dbms_output.put_line('嘻嘻嘻');
END IF;
END;
更多相关知识,就点我主页哦,谢谢!