oracle pl/sql 插入数据缺失右括号00907错误

资源共享 2011-03-27 10:50:18
急!!! 急!!! 急!!!

CREATE TABLE mrecord (
id NUMBER(8) NOT NULL,
smemberid VARCHAR2(50) NULL,
stestid NUMBER(8) NULL,
stesttitle VARCHAR2(100) NULL,
sdate VARCHAR2(100) NULL,
sstatus CHAR(20) NULL,
sscore VARCHAR2(100) NULL,
sanswertitle VARCHAR2(100) NULL,
sevaluation VARCHAR2(4000) NULL,
ssuggestion VARCHAR2(4000) NULL,
CONSTRAINT PK_mrecord PRIMARY KEY (id)
) ;

insert into UDEMO.MRECORD (ID, SMEMBERID, STESTID, STESTTITLE, SDATE, SSTATUS, SSCORE, SANSWERTITLE, SEVALUATION, SSUGGESTION)
values (1547, 'xyy', 115, '个人信息', to_date(''2010-03-17 13:37:00'', 'YYYY-MM-DD HH24:MI:SS'), 1, '', '', '', '');

insert into UDEMO.MRECORD (ID, SMEMBERID, STESTID, STESTTITLE, SDATE, SSTATUS, SSCORE, SANSWERTITLE, SEVALUATION, SSUGGESTION)
values (1651, 'ly', 163, '个人信息', to_date(''2010-03-18 18:00:00'', 'YYYY-MM-DD HH24:MI:SS'), 1, '60', '绩效管理与工作分析能力有待提高', '评估结果表明,基于这次的培训内容,您对“绩效管理与工作分析”知识和技能的掌握还有待提高,您没有很好的把所学的知识灵活运用到工作中,对于绩效管理与工作分析的重要性,以及绩效管理与工作分析的相关工作流程,您可能还需要继续学习。但绩效管理与工作分析难以操作的地方在于方法的选用与细节的操作,基于观念,让公司员工能够真正认可,是一件非常困难的事情,这需要有效的沟通;细节的操作,能够做到公平公正,科学客观,也是需要相关知识的积累与实践,在这些方面的操作,您可能需要投入更多的精力去学习与积累,只要您不断努力,您也会是最棒的!<br>', '');
...全文
1237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
doer_ljy 2011-03-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhuomingwang 的回复:]

引用 2 楼 xn521 的回复:
问题解决了,to_date(''2010-03-17 13:37:00'', 'YYYY-MM-DD HH24:MI:SS') 改成 to_date( '2010-03-17 13:37:00 ', 'YYYY-MM-DD HH24:MI:SS')

但我不明白,从pl/sql 导出来是双引号呢。

个人觉得 应该是你的过程里用的是动态sql吧?
……
[/Quote]
貌似是的
PL/SQL把整个SQL作为一个字符串输出出来的时候,对其中的单引号做了转义。
DavideFiled 2011-03-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhuomingwang 的回复:]
引用 2 楼 xn521 的回复:
问题解决了,to_date(''2010-03-17 13:37:00'', 'YYYY-MM-DD HH24:MI:SS') 改成 to_date( '2010-03-17 13:37:00 ', 'YYYY-MM-DD HH24:MI:SS')

但我不明白,从pl/sql 导出来是双引号呢。

个人觉得 应该是你的过程里用的是动态sql吧?
如……
[/Quote]

+1
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xn521 的回复:]
问题解决了,to_date(''2010-03-17 13:37:00'', 'YYYY-MM-DD HH24:MI:SS') 改成 to_date( '2010-03-17 13:37:00 ', 'YYYY-MM-DD HH24:MI:SS')

但我不明白,从pl/sql 导出来是双引号呢。
[/Quote]
个人觉得 应该是你的过程里用的是动态sql吧?
如果字符串中含有'要用两个'
比如要把字符串I'm a boy 赋值给一个变量
mystr:='I''m a boy';
所以 你的to_date包含两个''

秋雨飘落 2011-03-27
  • 打赏
  • 举报
回复
to_date(''2010-03-18 18:00:00''

这里多了单引号
资源共享 2011-03-27
  • 打赏
  • 举报
回复
问题解决了,to_date(''2010-03-17 13:37:00'', 'YYYY-MM-DD HH24:MI:SS') 改成 to_date( '2010-03-17 13:37:00 ', 'YYYY-MM-DD HH24:MI:SS')

但我不明白,从pl/sql 导出来是双引号呢。

秋雨飘落 2011-03-27
  • 打赏
  • 举报
回复
insert into mrecord (ID, SMEMBERID, STESTID, STESTTITLE, SDATE, SSTATUS, SSCORE, SANSWERTITLE, SEVALUATION, SSUGGESTION)
values (1547, 'xyy', 115, '个人信息', to_date('2010-03-17 13:37:00', 'YYYY-MM-DD HH24:MI:SS'), 1, '', '', '', '');

修改好了

insert into mrecord (ID, SMEMBERID, STESTID, STESTTITLE, SDATE, SSTATUS, SSCORE, SANSWERTITLE, SEVALUATION, SSUGGESTION)
values (1651, 'ly', 163, '个人信息', to_date('2010-03-18 18:00:00', 'YYYY-MM-DD HH24:MI:SS'), 1, '60', '绩效管理与工作分析能力有待提高', '评估结果表明,基于这次的培训内容,您对“绩效管理与工作分析”知识和技能的掌握还有待提高,您没有很好的把所学的知识灵活运用到工作中,对于绩效管理与工作分析的重要性,以及绩效管理与工作分析的相关工作流程,您可能还需要继续学习。但绩效管理与工作分析难以操作的地方在于方法的选用与细节的操作,基于观念,让公司员工能够真正认可,是一件非常困难的事情,这需要有效的沟通;细节的操作,能够做到公平公正,科学客观,也是需要相关知识的积累与实践,在这些方面的操作,您可能需要投入更多的精力去学习与积累,只要您不断努力,您也会是最棒的!<br>', '');

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧