时间:2011-01-06 19:00:39

标签: oracle plsql oracle10g

3 个答案:

答案 0 :(得分:1)

使用动态SQL并在运行时构建ORDER BY。 Oracle的SQL引擎将看到一个简单的ORDER BY。

答案 1 :(得分:0)

答案 2 :(得分:0)

如果primary_key和key是数字,则降序查询与升序乘以-1相同。


order by direction * CASE sort_column
                       WHEN 'PRIMARY_KEY' THEN primary_key
                       ELSE key              END

在上面,方向是整数。传入1或-1。这是一个更简单的表达式,应该运行得更快。