plsql工具在oracle数据库中使用comment语句给表加备注的时候单条执行没问题,批量多条执行就报无效字符了

如题所述

因为你写的不是PL/SQL代码块而是SQL语句,比如你写这样的东西
select * from emp1;
select * from emp1
两个语句执行,就会报ORA-00911: 无效字符
应该写这样类似的
begin
execute immediate 'comment on column emp4.job is ''emp4 job''';
execute immediate 'comment on column emp4.sal is ''emp4 sal''';
end;
写成代码块,否则就只写一条SQL不要写多条
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-03
默认分隔符被改掉了吧?
在第一条语句之前,强制加上“delimiter ;;”试试?追问

我用的oracle数据库,delimiter不是mysql中的吗

第2个回答  2016-11-03
检查一下最后的分号是不是全角的分号?
或者把你的语句粘贴到问题里看一下追问

分号已经绝对是英文的了,而且单条执行是好使的

追答

把语句粘贴到问题里看一下?

追问

comment on column ACCOUNT_FUNDS.total_money
is '总金额';
comment on column ACCOUNT_FUNDS.usable_money
is '可用金额';

追答

执行没有问题;
SQL> CREATE TABLE TEST_123(total_money NUMBER,usable_money NUMBER);
Table created
SQL> comment on column TEST_123.total_money
2 is '总金额';
Comment added
SQL> comment on COLUMN TEST_123.usable_money
2 is '可用金额';
Comment added

追问

我知道语句没问题,我在别的工具执行了好使,就是在我的plsql下有这个问题,我就想问我这里不好使的原因是啥