最近在写Sql语句时,碰到两个问题:1)ORA-01795: maximum number of expressions in a list is 1000起因:写出了这样的sql语句:SELECT PALLET_ID,BOX_ID,STATUS FROM SD_CURRENT_BOX WHERE PALLET_ID IN(""+pallets+"");其中的pallets是有很多个pallet_id组合成的字符串。分析:很显然,根据错误提示可以知道:in 中items的限制 1000个。解决:用子查询来代替pallets长字串。2)ORA-01704: string literal too long起因:写出了这样的Sql语句:UPDATE PDM_MEMBERLIST SET MEMBERS="<Project> ... 此处略去n多串 <ProjectID>".分析:数据库设计MEMBERS字段为xmltype格式,数据存储时候,是以字符串的形式存储。这样在xml数据量大的时候,造成sql语句过长,尝过2k的限制。解决:参数化sql语句。Oracle中最易忽视的两个重要进程Oracle数据库安装配置示例相关资讯 oracle
- [INS-32052] Oracle基目录和Oracle (07/22/2014 07:41:41)
- Oracle 4个大对象(lobs)数据类型 (02/03/2013 12:33:05)
- Oracle按时间段分组统计 (07/26/2012 10:36:48)
| - [Oracle] dbms_metadata.get_ddl的 (07/12/2013 07:37:30)
- Liferay Portal 配置使用Oracle和 (07/31/2012 20:07:18)
- Concurrent Request:Inactive (07/20/2012 07:44:05)
|
本文评论 查看全部评论 (1)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有
|