【问题标题】:Insert into table from query result error ERROR at line 1: ORA-00913: too many values从查询结果错误插入表 ERROR at line 1: ORA-00913: too many values
【发布时间】:2015-07-07 13:37:28
【问题描述】:

您好,有人可以帮忙解决一下这个问题吗?我收到了错误:

第 1 行出现错误:ORA-00913:值过多

因为要插入另一个表的列是相等的。我搜索了其他网站并按照他们的说明将查询结果插入另一个表

INsert into GLOBE_BILLING_REPORT
(BILL_YEAR, 
BILL_MONTH,
ACCT_NO,
EMP_ID, 
ASSIGNEE, 
DESIGNATION, 
TERR_NUM, 
JDEID, 
MOBILE_NO,
BILL_NUM,
BILL_TYPE, 
CREDIT_LIMIT, 
PLAN_ID,
BALANCE, 
PAYMENTS,
CREDITS_PRIOR_ADJ,  
OVERDUE,
MSF, 
OTHER_CHARGES, 
DEBIT_ADJ, 
CREDIT_ADJ, 
LOCAL_DATA, 
NDD, 
IDD, 
ROAM, 
SMS, 
GPRS, 
WIS_USAGE, 
LOADING_CHARGES, 
VAT, 
OCT_DATA, 
CURRENT_CHARGES, 
TOTAL_AMOUNT_DUE, 
DUMMY_COST_CENTRE, 
CERPS_ACCNT_CODE,
ACCNT_CODE_FOR_MSF, 
MSF_PLAN,
TAG)
Select
EMP_DATA.YEAR_DATA,   
EMP_DATA.MONTH_DATA,
EMP_DATA.ACCNT_NUM,
EMP_DATA.EMPID_DATA,
GLOBE_BILLING.ASSIGNEE,
EMP_DATA.DESIGNATION,
EMP_DATA.TERR_NUM,
EMP_DATA.JDEID,
GLOBE_BILLING.MOBILE_NO,
GLOBE_BILLING.BILL_NO,
GLOBE_BILLING.BILL_TYPE,
GLOBE_BILLING.CREDIT_LIMIT,
GLOBE_BILLING.PLAN_ID,
GLOBE_BILLING.BALANCE,
GLOBE_BILLING.PAYMENTS,
GLOBE_BILLING.CREDITS_PRIOR_ADJ,
GLOBE_BILLING.OVERDUE,
GLOBE_BILLING.MSF,
GLOBE_BILLING.OTHER_CHARGES,
GLOBE_BILLING.DEBIT_ADJ,
GLOBE_BILLING.CREDIT_ADJ,
GLOBE_BILLING."LOCAL",
GLOBE_BILLING.NDD,
GLOBE_BILLING.IDD,
GLOBE_BILLING.ROAM,
GLOBE_BILLING.SMS,
GLOBE_BILLING.GPRS,
GLOBE_BILLING.WIS_USAGE,
GLOBE_BILLING.LOADING_CHARGES,
GLOBE_BILLING.VAT,
GLOBE_BILLING."OCT",
GLOBE_BILLING.CURRENT_CHARGES,
GLOBE_BILLING.TOTAL_AMOUNT_DUE,
EMP_DATA.DUMMY_COST_CENTRE,
EMP_DATA.CERPS_ACCNT_CENTRE,
EMP_DATA.ACCNT_CODE_FOR_MSF,
EMP_DATA.MSF_PLAN,
EMP_DATA.DEPARTMENT_TAG,
EMP_DATA.STATUS
From
EMP_DATA Inner Join
GLOBE_BILLING On EMP_DATA.ACCNT_NUM = GLOBE_BILLING.ACCT_NO And
EMP_DATA.MONTH_DATA = GLOBE_BILLING.BILL_MONTH And EMP_DATA.YEAR_DATA =
GLOBE_BILLING.BILL_YEAR Where
EMP_DATA.STATUS Like '%ned%';

【问题讨论】:

  • 您尝试将 39 个字段(您的选择)插入 38 个字段(值列表)
  • 只需阅读错误消息...它准确说明问题出在哪里...您插入的值过多

标签: sql oracle11g oracle-sqldeveloper


【解决方案1】:

那是因为您的 INSERT 指定了 38 列,而 SELECT 指定了 39 列,看起来 EMP_DATA.STATUSSELECT 查询中是多余的。

【讨论】:

  • 哇!!非常感谢!我没有看到即将到来的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
  • 2020-04-01
相关资源
最近更新 更多