您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Oracle Sql语句长度限制问题及解决

2025/7/11 16:27:27发布26次查看
最近在写sql语句时,碰到两个问题:1)ora-01795: maximum number of expressions in a list is 1000起因:写出了这样的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=' ...  此处略去n多串 '.
分析:数据库设计members字段为xmltype格式,数据存储时候,是以字符串的形式存储。这样在xml数据量大的时候,造成sql语句过长,尝过2k的限制。
解决:参数化sql语句。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product