转自;http://www.cnblogs.com/chuang-sharing/p/9493316.html
今天查问题的时候,发现一个在分号后边加注释,解析错误的问题;
select decode(td.invoice_type,'1','增值税专用发票','2','其他发票','3','海关进口增值税专用缴款书','4','高速通行费', '5','其他通行费','6','代扣代缴税收通用缴款书','7','无发票','8','后补发票', '9','机动车销售统一发票(可抵扣)','10','增值税普通发票(不能抵扣)','11','增值税电子发票(不能抵扣)', '12','增值税电子发票(通行费)(可抵扣)') 发票类型, td.invoice_code 发票代码, td.invoice_no 发票号码, td.invoice_date 开票时间, tp.PAYMENT_MADE_DATE 支付成功时间, nvl(tp.PAY_AMOUNT,0) 支付金额, '' 入账科目, tp.REC_BANK_ACCOUNT_NAME 收款人, td.finance_department_code 发票所属机构 from tp_pay_transactions tp ,t_payment V,t_invoice_detail td,t_invoice_approval_relation rea WHERE td.invoice_id = rea.invoice_id and rea.claim_id = v.claim_id and v.tp_pay_transactions_id = tp.pay_id and v.paid_flag = '2' and td.cancel_status != '2' and v.hq_pay_flag != '2';--jnjnjkljb
:位置
:注释
备注:ORA-00911:invalid character:分号解析错误;
如果你在引号后边,加了黄色那个注释;报ORA-00911:invalid character;
为什么那?
原因就是你分号(;)解析错误;把注释也解析了,造成就不认得了;
怎么改那?
把注释加在分号里边;或者换行;