解决方案 »

  1.   

    我是打算把表中的数据格式化。有些日期的数据都是带.的,我需要把它去除掉,还有本该number类型的,由于导入的数据中 有--,所有我也把它定义为varchar2类型了,也需要更改,请高手指点迷津!!
      

  2.   

    谢谢,主要是第9行的错误。
    PROCEDURE SCOTT.SP_FORMATDATE 编译错误错误:PLS-00103: 出现符号 "."在需要下列之一时:
            * & = - + ; < / > at in is
              mod remainder not rem <an exponent (**)> <> or != or ~= >= <=
              <> and or like like2 like4 likec between || member
              submultiset
           符号 "*在 "." 继续之前已插入。
    行:9
    文本:strsql:='update '||v_tblnm||' SET launchdate = replace('||v_strslct||','.','')';错误:PLS-00103: 出现符号 "END"在需要下列之一时:
            . ( * @ % & = - + ; < / >
              at in is mod remainder not rem return returning
              <an exponent (**)> <> or != or ~= >= <= <> and or like like2
              like4 likec between into using || multiset bulk member
              submultiset
           符号 "END" 被忽略。
    行:13
    文本:end;
      

  3.   

    打断点 ,调试一下看看strsql变量的真实值是什么,你就应该知道错在哪里了。
    strsql:='update '||v_tblnm||' SET launchdate =replace('||v_strslct||','.','')';我猜是少了引号。
      

  4.   

    第9行,replace函数里的点“.”前后是不是应该加上连接符“||”。
      

  5.   

    strsql:='update '||v_tblnm||' SET launchdate =replace('||v_strslct||',''.'','''')';
    另外 14行后面加个分号
      

  6.   

    修改一下字符编码试试。我遇到过这个问题 将原来的字符编码从UTF-8无BOM格式编码改成UTF-8编码。