insert into T_CI_RYKQ('F_KQHAO','F_KQMC','fd_rykq_id','fd_dwkh','fd_gongh','fd_xm','fd_gongz','fd_bc','fd_bcdm','fd_rq','fd_dwmc','fd_dwbh','fd_xjsj','fd_sjsj','fd_jlsj') values('J','第一区','4617','1000526','1428','刘吉泉              ','机工','第一班              ','101','2010/2/10 9:34:00','车间','26','5045489.447606','','0.447606')我在navicat for oracle中写这语句,怎么报[Err] ORA-00928: 缺失 SELECT 关键字
错误!

解决方案 »

  1.   

    还有你里面的日期是字符形式的吗?如果不是用to_date吧
      

  2.   

    insert into T_CI_RYKQ('F_KQHAO','F_KQMC','fd字段名称,请勿加''。
    insert into T_CI_RYKQ(F_KQHAO,F_KQMC,……
      

  3.   

    [SQL] insert into T_CI_RYKQ(F_KQHAO,F_KQMC,fd_rykq_id,fd_dwkh,fd_gongh,fd_xm,fd_gongz,fd_bc,fd_bcdm,fd_rq,fd_dwmc,fd_dwbh,fd_xjsj,fd_sjsj,fd_jlsj) 
    values('J','第一区','4617','1000526','1428','刘吉泉              ','机工','第一班              ','101','2010/2/10 9:34:00','车间','26','5045489.447606','','0.447606')
    [Err] ORA-00904: "FD_JLSJ": 标识符无效
    经确认 FD_JLSJ字段是存在的!
      

  4.   

    你在什么里面调试的?
    PL/SQL提示表或视图不存在(正常,我这里没有 T_CI_RYKQ表)
    SQL> insert into T_CI_RYKQ(F_KQHAO,F_KQMC,fd_rykq_id,fd_dwkh,fd_gongh,fd_xm,fd_g
    ongz,fd_bc,fd_bcdm,fd_rq,fd_dwmc,fd_dwbh,fd_xjsj,fd_sjsj,fd_jlsj)
      2  values('J','第一区','4617','1000526','1428','刘吉泉              ','机工','
    第一班              ','101','2010/2/10 9:34:00','车间','26','5045489.447606','',
    '0.447606') ;
    insert into T_CI_RYKQ(F_KQHAO,F_KQMC,fd_rykq_id,fd_dwkh,fd_gongh,fd_xm,fd_gongz,
    fd_bc,fd_bcdm,fd_rq,fd_dwmc,fd_dwbh,fd_xjsj,fd_sjsj,fd_jlsj)
                *
    第 1 行出现错误:
    ORA-00942: 表或视图不存在
    SQL>
      

  5.   

    fd_rykq_id CHAR 35 0 0 -1 BYTE
    fd_dwkh CHAR 50 0 0 0 BYTE
    fd_gongh CHAR 50 0 0 0 BYTE
    fd_xm CHAR 50 0 0 0 BYTE
    fd_gongz CHAR 50 0 0 0 BYTE
    fd_bc CHAR 20 0 0 0 BYTE
    fd_bcdm CHAR 20 0 0 0 BYTE
    fd_rq DATE 7 0 0 0 BYTE
    fd_dwmc VARCHAR2 100 0 0 0 BYTE
    fd_dwbh CHAR 50 0 0 0 BYTE
    fd_xjsj TIMESTAMP 6 0 0 0 BYTE
    fd_sjsj TIMESTAMP 6 0 0 0 BYTE
    fd_jlsj TIMESTAMP 6 0 0 0 BYTE
    F_KQHAO CHAR 6 0 0 0 BYTE
    F_KQMC VARCHAR2 20 0 0 0 BYTE
    表定义!
      

  6.   


    insert into T_CI_RYKQ(F_KQHAO,F_KQMC,fd_rykq_id,fd_dwkh,fd_gongh,fd_xm,fd_gongz,fd_bc,fd_bcdm,fd_rq,fd_dwmc,fd_dwbh,fd_xjsj,fd_sjsj,fd_jlsj) 
    values('J','第一区','4617','1000526','1428','刘吉泉','机工','第一班','101','2010/2/10 9:34:00','车间','26','5045489.447606','0.447606','0.447606')
      

  7.   

    [SQL] insert into T_CI_RYKQ(F_KQHAO,F_KQMC,fd_rykq_id,fd_dwkh,fd_gongh,fd_xm,fd_gongz,fd_bc,fd_bcdm,fd_rq,fd_dwmc,fd_dwbh,fd_xjsj,fd_sjsj,fd_jlsj) 
    values('J','第一区','4617','1000526','1428','刘吉泉','机工','第一班','101','2010/2/10 9:34:00','车间','26','5045489.447606','0.447606','0.447606')
    [Err] ORA-00904: "FD_JLSJ": 标识符无效
      

  8.   

    那就单独把FD_JLSJ加上引号看看
      

  9.   

    查询下
    select * from all_tab_cols
    where table_name='T_CI_RYKQ' and lower(column_name)='fd_jlsj';
    看看column_name字段的值是不是全部大写的。如果不是的话,安装查询结果里column_name的写法,严格区分大小写,加上双引号
    比如"FD_jlsj"
      

  10.   

    字段名不要加引号
    弄清楚各字段是什么值类型,再看哈是不是value中的和字段类型不一致。至于空格应该不至于,空格也可以
    当成字符串吧。试试
      

  11.   

    insert into T_CI_RYKQ(F_KQHAO,F_KQMC,fd_rykq_id,fd_dwkh,fd_gongh,fd_xm,fd_gongz,fd_bc,fd_bcdm,fd_rq,fd_dwmc,fd_dwbh,fd_xjsj,fd_sjsj,fd_jlsj) values('J','第一区','4617','1000526','1428','刘吉泉              ','机工','第一班              ','101',to_date('2010-02-22','yyyy-mm-dd'),'车间','26', to_timestamp('2009/12/14 0:02:31','yyyy-mm-dd hh24:mi:ss.ff'),'', to_timestamp('2010/2/22 9:28:50','yyyy-mm-dd hh24:mi:ss.ff'))这条语句能在PL/SQL工具里执行成功,但是在C#里,我执行ExecuteNonQuery()函数时,却报
    捕捉到 System.Data.OracleClient.OracleException
      Message="ORA-00904: \"FD_JLSJ\": 标识符无效\n"
      Source="System.Data.OracleClient"
      ErrorCode=-2146232008
      Code=904
      StackTrace:
           在 System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
           在 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
           在 System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
           在 System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
           在 LS.DBUtility.OracleHelper.ExecuteSqlTransaction(String conStr, List`1 cmdList) 位置 F:\SystemSoft\SQLConvert\SQLOper\OracleHelper.cs:行号 480
      InnerException: 
      

  12.   

    问题自己解决了。
    原因:用了工具建表,表的字段都存在双引号,但是我在SQL *Plus里用DESC命令查了,看不出什么端倪。后面是一个一个的改语句。然后在C#里用了转义字符\",如果是用单引号会提示语法错误!
    谢谢各位的回复,给我很多提示!