如何在 Oracle Forms 中删除 SQL 查询中的 ORDER BY
How remove ORDER BY in SQL query in Oracle Forms
我有一个 SQL 查询,它是在特定条件下生成的,当 F7/F8 时。生成的 SQL 查询通过 LAST_QUERY.
插入块 "Block1"
LAST_QUERY 我的 returns SQL 查询:
SELECT column1, column2, column3, sloupec4, sloupec5, sloupec6
FROM table
WHERE column1 = 12
AND column2 = 'test'
ORDER BY column1, column3 desc, column 5;
如果 SQL 来自 LAST_QUERY 的查询,我将块通过
v_where =: System.Last_Query;
set_block_property('BLOCK1' default_where, v_where);
执行此操作后,显示错误并且 SQL 查询如下所示:
SELECT column1, column2, column3, sloupec4, sloupec5, sloupec6
FROM table
WHERE column1 = 12
AND column2 = 'test'
ORDER BY column1, column3 desc, column 5 ORDER BY column1, column3 desc, column 5;
如何删除 ORDER BY 后面的所有内容,包括 ORDER BY?
有一些 SQL 函数可以删除 SQL 查询中的最后几个字符?
ORDER BY 我在块 "BLOCK1" 上,我无法删除它,它必须留在那里。
感谢您的建议。
从您的 v_where 变量中删除 order by 子句:
v_where := :SYSTEM.LAST_QUERY;
if instr(v_where, 'ORDER BY') > 0 then
v_where := substr(v_where, 1, instr(v_where, 'ORDER BY')-1);
end if;
我有一个 SQL 查询,它是在特定条件下生成的,当 F7/F8 时。生成的 SQL 查询通过 LAST_QUERY.
插入块 "Block1"LAST_QUERY 我的 returns SQL 查询:
SELECT column1, column2, column3, sloupec4, sloupec5, sloupec6
FROM table
WHERE column1 = 12
AND column2 = 'test'
ORDER BY column1, column3 desc, column 5;
如果 SQL 来自 LAST_QUERY 的查询,我将块通过
v_where =: System.Last_Query;
set_block_property('BLOCK1' default_where, v_where);
执行此操作后,显示错误并且 SQL 查询如下所示:
SELECT column1, column2, column3, sloupec4, sloupec5, sloupec6
FROM table
WHERE column1 = 12
AND column2 = 'test'
ORDER BY column1, column3 desc, column 5 ORDER BY column1, column3 desc, column 5;
如何删除 ORDER BY 后面的所有内容,包括 ORDER BY? 有一些 SQL 函数可以删除 SQL 查询中的最后几个字符?
ORDER BY 我在块 "BLOCK1" 上,我无法删除它,它必须留在那里。
感谢您的建议。
从您的 v_where 变量中删除 order by 子句:
v_where := :SYSTEM.LAST_QUERY;
if instr(v_where, 'ORDER BY') > 0 then
v_where := substr(v_where, 1, instr(v_where, 'ORDER BY')-1);
end if;