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 关键字
错误!
错误!
insert into T_CI_RYKQ(F_KQHAO,F_KQMC,……
values('J','第一区','4617','1000526','1428','刘吉泉 ','机工','第一班 ','101','2010/2/10 9:34:00','车间','26','5045489.447606','','0.447606')
[Err] ORA-00904: "FD_JLSJ": 标识符无效
经确认 FD_JLSJ字段是存在的!
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>
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
表定义!
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')
values('J','第一区','4617','1000526','1428','刘吉泉','机工','第一班','101','2010/2/10 9:34:00','车间','26','5045489.447606','0.447606','0.447606')
[Err] ORA-00904: "FD_JLSJ": 标识符无效
select * from all_tab_cols
where table_name='T_CI_RYKQ' and lower(column_name)='fd_jlsj';
看看column_name字段的值是不是全部大写的。如果不是的话,安装查询结果里column_name的写法,严格区分大小写,加上双引号
比如"FD_jlsj"
弄清楚各字段是什么值类型,再看哈是不是value中的和字段类型不一致。至于空格应该不至于,空格也可以
当成字符串吧。试试
捕捉到 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:
原因:用了工具建表,表的字段都存在双引号,但是我在SQL *Plus里用DESC命令查了,看不出什么端倪。后面是一个一个的改语句。然后在C#里用了转义字符\",如果是用单引号会提示语法错误!
谢谢各位的回复,给我很多提示!