ORA-00917:缺少逗号 [英] ORA-00917: missing comma

查看:119
本文介绍了ORA-00917:缺少逗号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Name               Null     Type           
------------------ -------- -------------- 
RESOURCE_ID        NOT NULL NUMBER(38)     
RESOURCE_FIRST_NM  NOT NULL VARCHAR2(30)   
RESOURCE_MIDDLE_NM          VARCHAR2(30)   
RESOURCE_LAST_NM   NOT NULL VARCHAR2(30)   
RESOURCE_TYPE_CD   NOT NULL VARCHAR2(10)   
EMPLOYEE_ID                 VARCHAR2(20)   
EMPLOYEE_TYPE_CD            VARCHAR2(10)   
FUNCTIONAL_LEAD_CD          VARCHAR2(10)   
PHONE_1                     VARCHAR2(15)   
PHONE_2                     VARCHAR2(15)   
FAX_NR                      VARCHAR2(15)   
EMAIL_DE                    VARCHAR2(50)   
RESOURCE_STATUS_CD NOT NULL VARCHAR2(10)   
HIRING_DT          NOT NULL DATE           
LEAVE_START_DT              DATE           
LEAVE_END_DT                DATE           
TERMINATED_DT               DATE           
ADDRESS1                    VARCHAR2(50)   
ADDRESS2                    VARCHAR2(50)   
CITY                        VARCHAR2(15)   
STATE                       VARCHAR2(15) 


int i=statement.executeUpdate("
     insert into RAS_T_RESOURCES(
         RESOURCE_ID, 
         RESOURCE_FIRST_NM, 
         RESOURCE_MIDDLE_NM, 
         RESOURCE_LAST_NM, 
         RESOURCE_TYPE_CD, 
         EMPLOYEE_ID, 
         FUNCTIONAL_LEAD_CD, 
         ADDRESS1, 
         ADDRESS2, 
         PHONE_1, 
         PHONE_2, 
         FAX_NR, 
         EMAIL_DE, 
         RESOURCE_STATUS_CD, 
         HIRING_DT, 
         LEAVE_START_DT, 
         LEAVE_END_DT, 
         TERMINATED_DT,
         CITY,
         STATE)
    values(
         2,  
         '"+strFirstname+"', 
         '"+strMiddlename+"', 
         '"+strLastname+"', 
         '"+strResourceType+"', 
         '"+strEmpId+"', 
         '"+strHiringMngr+"', 
         '"+strAddress1+"', 
         '"+strAddress2+"',
         '"+strPhone1+"', 
         '"+strPhone2+"', 
         '"+strFax+"', 
         '"+strEMail+"', 
         '"+strstatus+"', 
         "+strHiringDate+", 
         "+strStartDate+", 
         "+strEndDate+", 
         "+strTerminatedDate+", 
         '"+strCity+"', 
         '"+strState+"');");

有人可以帮忙吗?有什么问题吗?

Can any one help? What is the problem?

推荐答案

纯粹作为编译器来考虑这样的表达式:

Thinking purely as a compiler, expressions like this:

     '"+strFirstname+"'

将被解释为文字字符串. (如果您正在考虑的话,将不会进行变量替换.)

would be interpreted as literal strings. (No variable substitution would take place, if that's what you're thinking.)

这可能是问题所在

     "+strHiringDate+", 
     "+strStartDate+", 
     "+strEndDate+", 
     "+strTerminatedDate+", 

Oracle会将它们解析为标识符,而不是字符串-因为您省略了单引号('),并且Oracle标识符可选地由双引号()分隔.

These would be parsed by Oracle as identifiers, not strings - because you've omitted the single quotes ('), and Oracle identifiers are optionally delimited by double quotes (").

这篇关于ORA-00917:缺少逗号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆