PL/SQL编写的SQL语句插入SqlPlus时,报错 PLS-00302

最近刚开始用PL/SQL,而后发现写SQL语句时,运行的时候,会对表中的字段报错。编码

好像是对字段的使用有问题spa

原来写的错误代码大概像这样rest

 1 DECLARE xuehao XSB.id% TYPE;
 2 BEGIN
 3   SELECT
 4     id INTO xuehao 
 5   FROM
 6     xsb 
 7   WHERE
 8     name = '小明';
 9   DBMS_OUTPUT.PUT_LINE(xuehao);
10 END;
11 /

而后就,报了好多错啊!!code

这是用PL/SQL写的,感受不咋地,因此我又换了Navicat Premium,再写的时候会有不一样的提示blog

 1 DECLARE xuehao XSB."id"% TYPE;
 2 BEGIN
 3     SELECT
 4         XSB."id" INTO xuehao 
 5     FROM
 6         xsb 
 7     WHERE
 8         XSB."name"    = '小明';
 9     DBMS_OUTPUT.PUT_LINE(xuehao);
10 END;
11 /

而后,咱们发现,这里的字段都有双引号!rem

这就Interesting了,具体是为何呢?class

其实,对于字段加不加双引号,区分了这个字段在建立时,是用中文输入仍是英文输入的,也就是编码不同。引用

简而言之im

若是在建立这个字段的时候,输入法处于中文输入状态,则须要加双引号,使用Table."字段"来引用。英文

若是输入法处于英文输入状态,则不须要加双引号。

相关文章
相关标签/搜索