永发信息网

oracle存储过程,导出txt文件的,高手帮忙看下,哪里错了?编译无报错哦

答案:3  悬赏:50  手机版
解决时间 2021-02-02 20:01
  • 提问者网友:原来太熟悉了会陌生
  • 2021-02-01 23:28
SQL> exec p_exp('test',''); select ||chr(34)||EXPLAIN_REQUESTER||chr(34)||||chr(34)||EXPLAIN_TIME||chr(34)||||chr(34)||SOURCE_NAME||chr(34)||||chr(34)||SOURCE_SCHEMA||chr(34)||||chr(34)||SOURCE_VERSION||chr(34)||||chr(34)||EXPLAIN_LEVEL||chr(34)||||chr(34)||STMTNO||chr(34)||||chr(34)||SECTNO||chr(34)||||chr(34)||OPERATOR_ID||chr(34)||||chr(34)||ARGUMENT_TYPE||chr(34)||||chr(34)||ARGUMENT_VALUE||chr(34)||||chr(34)||LONG_ARGUMENT_VALUE from test begin p_exp('test',''); end; ORA-00936: 缺失表达式ORA-06512: 在 "TOPICIS.P_EXP", line 26ORA-06512: 在 line 2



最佳答案
  • 五星知识达人网友:怙棘
  • 2021-02-02 00:42
在v_sql:= rtrim(v_sql, ...后面加上
v_sql:= Replace(v_sql, '||||', '||');
if Substr(v_sql, 1, 2) = '||' then
v_sql:= Substr(v_sql, 3, Length(v_sql) - 2));
end if;
然后在试试。
全部回答
  • 1楼网友:鱼忧
  • 2021-02-02 02:25
是你导出的exp的版本和服务器上不同所致。 估计是你服务器上的版本低一些,一般情况,如果版本高一些的话不会出错。
  • 2楼网友:由着我着迷
  • 2021-02-02 01:58
|', '||'); if Substr(v_sql, 1, 2) = '||' then v_sql:= Substr(v_sql, 3, Length(v_sql) - 2)); end if; 然后在试试。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯