Welcome 微信登录

首页 / 数据库 / MySQL / Oracle Sql语句长度限制问题及解决

最近在写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)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有