这个问题如何解决?

解决方案 »

  1.   

    明显是SQL语句有问题。
    你把SQL语句发过来。
      

  2.   

    是整个dmp文件,怎么弄?
      

  3.   

    不是,你dos中的SQL语句。
    有aaa表,bb表,t表。
      

  4.   


    IMP-00041: 警告: 创建的对象带有编译警告
     "CREATE FORCE VIEW "ZY196"."V_FUND_STOCKTYPE_ASSET"                         "
     "  ("I_FUND","VC_STOCK_TYPE","VC_STOCKTYPE_CAPTION","EN_CB_BALANCE","EN_BAS_"
     "MARKET_VALUE","EN_INVEST_PROFIT","EN_TOTAL_ASSET","EN_NET_ASSET","EN_FUND_S"
     "HARE","EN_UNIT_ASSET","EN_CB_PERCENT","EN_SZ_PERCENT") AS "
     "select aaa.i_fund,"
     "       aaa.vc_stock_type,"
     "       t.vc_stocktype_caption,"
     "       aaa.en_cb_balance,"
     "       aaa.en_bas_et_value,"
     "       aaa.en_invest_profit,"
     "       bb.en_total_asset,"
     "       bb.en_net_asset,"
     "       bb.en_fund_share,"
     "       bb.en_unit_asset,"
     "      case when bb.en_total_asset <> 0 then"
     "         round(aaa.en_cb_balance/bb.en_total_asset,4)*100"
     "       else 0 end as en_cb_percent,"
     "      case when bb.en_total_asset <> 0 then"
     "         round(aaa.en_bas_et_value/bb.en_total_asset,4)*100"
     "      else 0 end  as en_sz_percent"
     "       from"
     "(select aa.i_fund,"
     "       aa.vc_stock_type,"
     "       sum(en_cb_balance) as en_cb_balance,"
     "       sum(en_bas_et_value) as en_bas_et_value,"
     "       sum(en_invest_profit) as en_invest_profit"
     "  from"
     " ("
     "      (select a.i_fund,"
     "              a.vc_stock_type,"
     "              nvl(sum(en_bas_et_value),0) as  en_bas_et_value,"
     "             0 as en_invest_profit,"
     "             0 as en_cb_balance"
     ""
     "              from v_fundstocks_cal_sz a group by a.i_fund,a.vc_stock_type)"
     "      union all"
     "              (select i_fund,"
     "                      info.vc_stock_type,"
     "                      0 as en_bas_et_value,"
     "                      nvl(sum(yy.en_invest_profit* fn_getexrate(i_fund,info"
     ".vc_tradecury)),0) as en_invest_profit,"
     "                      0 as en_cb_balance"
     "                from  v_fundstocks_cal_sy yy ,stockinfos info"
     "               where yy.vc_stock_code = info.vc_stock_code"
     "            group by i_fund,info.vc_stock_type"
     "             )"
     ""
     "      union all"
     "       (select cb.i_fund,"
     "               b.vc_stock_type,"
     "               0 as en_bas_et_value,"
     "               0 as en_invest_profit,"
     "               sum(cb.en_invest_balance* fn_getexrate(cb.i_fund,b.vc_tradec"
     "ury)) as en_cb_balance"
     "                  from v_fundstocks_cal_cb cb,stockinfos b"
     "                 where cb.vc_stock_code=b.vc_stock_code"
     "                 group by cb.i_fund ,b.vc_stock_type )"
     ""
     ")  aa"
     "      group by i_fund,vc_stock_type) aaa"
     ""
     ", v_fund_asset_balance bb ,"
     "  stocktypes t"
     "      where aaa.i_fund= bb.i_fund and aaa.vc_stock_type = t.vc_stock_type"
    IMP-00017: 由于 ORACLE 错误 900, 以下语句失败:
     "ALTER PROCEDURE "UP_REPORT_DATA_900001" COMPILE REUSE SETTINGS TIMESTAMP '2"
     "017-04-11:18:14:53'"
    IMP-00003: 遇到 ORACLE 错误 900
    ORA-00900: 无效 SQL 语句
    成功终止导入, 但出现警告。Import finished on 2017-12-7 12:22:48