在 sql 中解析返回的查询
parsing returned query in sql
我正在尝试在 Oracle Application Express 中执行此代码。我不断收到解析返回的查询结果。
Parsing returned query results in "ORA-06550: line 11, column 19:
ORA-00933: SQL command not properly ended". If you believe your query
is syntactically correct, check the "Use Generic Column Names"
checkbox below to proceed without parsing.
我不明白这是什么意思以及如何纠正这个错误。任何人都可以帮助我或给我一些建议吗?请
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;
这是您脚本的精简版。故障排除的一部分是删除我们应该做的所有其他事情,比如注释代码和检查空值。下面的代码只是一个测试用例,在 Oracle 11g 上编译运行。
运行 这是一个脚本,并为 l_lng 和 l_lat 提供一些值。检查输出、测试并重复。
DECLARE
L_QUERY VARCHAR2(2000);
l_lng NUMBER(20);
l_lat NUMBER(20);
BEGIN
L_QUERY := L_QUERY || ' ' || '
TO_CHAR(
SDO_GEOM.SDO_DISTANCE
(SDO_GEOMETRY(2001,
8307,
SDO_POINT_TYPE(' || L_LNG || ',
' || L_LAT || ',
null),
null,
null),
location,
0.005,
''unit=mile''),''9g999'') distance';
L_QUERY := L_QUERY || ' ' || 'FROM BARS';
DBMS_OUTPUT.PUT_LINE(L_QUERY);
END;
我正在尝试在 Oracle Application Express 中执行此代码。我不断收到解析返回的查询结果。
Parsing returned query results in "ORA-06550: line 11, column 19: ORA-00933: SQL command not properly ended". If you believe your query is syntactically correct, check the "Use Generic Column Names" checkbox below to proceed without parsing.
我不明白这是什么意思以及如何纠正这个错误。任何人都可以帮助我或给我一些建议吗?请
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;
这是您脚本的精简版。故障排除的一部分是删除我们应该做的所有其他事情,比如注释代码和检查空值。下面的代码只是一个测试用例,在 Oracle 11g 上编译运行。 运行 这是一个脚本,并为 l_lng 和 l_lat 提供一些值。检查输出、测试并重复。
DECLARE
L_QUERY VARCHAR2(2000);
l_lng NUMBER(20);
l_lat NUMBER(20);
BEGIN
L_QUERY := L_QUERY || ' ' || '
TO_CHAR(
SDO_GEOM.SDO_DISTANCE
(SDO_GEOMETRY(2001,
8307,
SDO_POINT_TYPE(' || L_LNG || ',
' || L_LAT || ',
null),
null,
null),
location,
0.005,
''unit=mile''),''9g999'') distance';
L_QUERY := L_QUERY || ' ' || 'FROM BARS';
DBMS_OUTPUT.PUT_LINE(L_QUERY);
END;