关于对查询数据的修改问题?(100分)

  • 主题发起人 主题发起人 longwayli
  • 开始时间 开始时间
L

longwayli

Unregistered / Unconfirmed
GUEST, unregistred user!

使用Tquery对Oracle的数据表进行查询,语句大意如下:
SELECT FIELD1,SUM(FIELD2) FROM TABLE WHERE FIELD0=XXX GROUP BY FIELD1
如果将Requestlive设为TRUE,则程序出错,好像对非只读查询不能使用GROUP BY 语句。
请问是不是这样?
如果是那这样的问题该如何解决呢?



 
这样的查询结果当然不能修改,因为结果是一个求和,不是对应的每一条记录。
再说,即使能让你修改 Sum 出来的结果,又有什么意义呢?你指望怎样把修改后的结果
回写到表中?
把你的 Group By 去掉,写一个普通的查询,比如: Select * From Table ,有的数据库
引擎连对含有 Order By 的查询都不允许修改。
最终能否修改,可以判断 CanModify 属性!
 
只要对视图的修改不能有效分解为对基本数据表的更改,这个修改就是不可能的
 
这是废话,Group By的结果怎么可能修改?
汇总的结果你修改它干吗?
你到底想做什么修改啊?
 
几种情况下query返回的是只读的结果集
• DISTINCT in the SELECT clause
• Joins (inner, outer, or UNION)
• Aggregate functions with or without GROUP BY or HAVING clauses
• Base tables or views that are not updatable
•Subqueries
• ORDER BY clauses not based on an index
 
多人接受答案了。
 
后退
顶部