我正在尝试在oracle application express中执行此代码。我一直收到解析返回的查询结果。
解析返回的查询结果在“ORA-06550:第11行第19行: ORA-00933:SQL命令未正确结束“。如果您相信您的查询 在语法上是正确的,检查“使用通用列名称” 下面的复选框继续而不解析。
我无法弄清楚它的含义以及如何纠正这个错误。任何人都可以帮助我或给我一些建议吗?请。
IF v('P2_POSTCODE_SEARCH') IS NOT NULL THEN
GEOCODE_GM_XML (l_postcode, l_lat, l_lng);
l_query := l_query||' '||'
TO_CHAR(
SDO_GEOM.SDO_DISTANCE
(SDO_GEOMETRY(2001, -- SDO_GTYPE
8307, -- SDO_SRID
SDO_POINT_TYPE('||l_lng||', --X longitude
'||l_lat||', --Y latitude
null), --Z 3D only
null, -- SDO_ELEM_INFO_ARRAY
null), -- SDO_ORDINATE_ARRAY
location,
0.005,
''unit=mile''),''9g999'') distance';
else
l_query := l_query||' '||' NULL DISTANCE';
END IF;
答案 0 :(得分:1)
以下是您脚本的精简版。部分故障排除是删除我们应该做的所有其他事情,如注释代码和检查空值。下面的代码只是一个测试用例,可以在Oracle 11g上编译和运行。 将其作为脚本运行,并为l_lng和l_lat提供一些值。检查输出,测试并重复。
#include <iostream>
#include <fstream>
int main()
{
std::ofstream out("test.txt");
// Get the rdbuf of clog.
// We need it to reset the value before exiting.
auto old_rdbuf = std::clog.rdbuf();
// Set the rdbuf of clog.
std::clog.rdbuf(out.rdbuf());
// Write to clog.
// The output should go to test.txt.
std::clog << "Test, Test, Test.\n";
// Reset the rdbuf of clog.
std::clog.rdbuf(old_rdbuf);
return 0;
}