SP2-0042: unknown command--rest of line ignored.

小白今天在linux环境刷一个数据库的Precedure,出现了如下报错:

SP2-0042: unknown command "AS" - rest of line ignored.
SP2-0734: unknown command beginning "v_WSJA ..." - rest of line ignored.
SP2-0734: unknown command beginning "v_WSJB..." - rest of line ignored.
SP2-0734: unknown command beginning "v_WSJC..." - rest of line ignored.

SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
  v_wsj_name := 'LISTLOG_' || to_char(sysdate + 1,'yyyymmdd');
  *
ERROR at line 2:
ORA-06550: line 2, column 3:
PLS-00201: identifier 'v_WSJA' must be declared
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored
ORA-06550: line 4, column 3:
PLS-00201: identifier 'v_WSJB' must be declared
ORA-06550: line 4, column 3:
PL/SQL: Statement ignored
ORA-06550: line 6, column 65:
PLS-00201: identifier 'v_WSJC' must be declared
ORA-06550: line 6, column 3:
PL/SQL: Statement ignored

 

小白很着急,来来回回看了sql脚本很多遍,没什么异常,看到第3遍的时候,终于发现了疑点:

--???é?¤?????oè?¨                                    (这是中文注释,但是linux不识别中文,于是成为乱码)
CREATE OR REPLACE PROCEDURE P_WSJ_PRECEDRE
AS
  v_WSJA        VARCHAR2(100);
  v_WSJB     VARCHAR2(2000);
  v_WSJC   VARCHAR2(100);
BEGIN

 

解决办法:

将sql语句中的所有的中文注释全改成英文注释,就可以了。

 

 

总结:

在linux环境刷sql脚本的时候,应该注意两点:

1. sql文本的格式必须是UTF-8 无bom头

2. 没有中文注释

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值