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

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

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

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

 DECLARE xuehao XSB.id% TYPE;
BEGIN
SELECT
id INTO xuehao
FROM
xsb
WHERE
name = '小明';
DBMS_OUTPUT.PUT_LINE(xuehao);
END;
/

然后就,报了好多错啊!!

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

这是用PL/SQL写的,感觉不咋地,所以我又换了Navicat Premium,再写的时候会有不同的提示

 DECLARE xuehao XSB."id"% TYPE;
BEGIN
SELECT
XSB."id" INTO xuehao
FROM
xsb
WHERE
XSB."name" = '小明';
DBMS_OUTPUT.PUT_LINE(xuehao);
END;
/

然后,我们发现,这里的字段都有双引号!

这就Interesting了,具体是为什么呢?

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

简而言之

如果在创建这个字段的时候,输入法处于中文输入状态,则需要加双引号,使用Table."字段"来引用。

如果输入法处于英文输入状态,则不需要加双引号。

上一篇:Eclipse中配置weka,以及添加算法


下一篇:SQL查询数据并插入新表