我生成这样的查询:
Dim goods As List = New List()
Dim rateValue as Integer = 100000
For i As Integer = 0 To rate
goods.Add(i)
Next
Dim Sql As System.Text.StringBuilder = New System.Text.StringBuilder()
Sql.AppendLine("SELECT G.ID, G.NAME")
Sql.AppendLine("FROM GOODS G")
Sql.AppendFormat("WHERE {0}", GetSqlListPartition(goods,"G.ID"))
string GetSqlIDListPartition(List list, string propertyName) - 方法分区 List 条件如下: (propertyName IN (...) OR propertyName IN (...) OR propertyName IN (...) ) 如果 List 包含更多 1000 个元素
当我执行此查询时,出现错误:ORA-00913: too many values
.
但是如果我设置rateValue = 10000
并生成查询,它执行正常。这里有什么问题?
我附上了查询http://dfiles.ru/files/z1yq9iazj(我不能在这里写,因为有错误:“589752 个字符太长”))。最有趣的是,如果从第一个 IN 中删除“0”,它将执行正常。
附言。甲骨文版本 10