ORA-06550:第 12 行,第 9 列:PL/SQL:ORA-00936:缺少表达式 ORA-06550:第 9 行,第 5 列:PL/SQL:忽略 SQL 语句
Posted
技术标签:
【中文标题】ORA-06550:第 12 行,第 9 列:PL/SQL:ORA-00936:缺少表达式 ORA-06550:第 9 行,第 5 列:PL/SQL:忽略 SQL 语句【英文标题】:ORA-06550: line 12, column 9: PL/SQL: ORA-00936: missing expression ORA-06550: line 9, column 5: PL/SQL: SQL Statement ignored 【发布时间】:2017-12-03 15:09:57 【问题描述】:我正在尝试插入 SELECT 语句返回的距离值,但是,我收到以下错误 -
DECLARE
l_lat VARCHAR2(100);
l_lng VARCHAR2(100);
l_postcode VARCHAR2(8) := :P2_POSTCODE;
BEGIN
brian.GEOCODE_GM_XML (l_postcode, l_lat, l_lng);
INSERT INTO RESTAURANTS_IMAGES_VIEW (DISTANCE)
VALUES
(
SELECT SDO_GEOM.SDO_DISTANCE
(a.location,
SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(l_lat, l_lng, null), null, null), 0.005) distance
FROM RESTAURANTS_IMAGES_VIEW a
);
END;
我在这里犯了什么错误吗?
【问题讨论】:
【参考方案1】:如果 SDO_GEOM.SDO_DISTANCE 是一个过程,并且在括号内要根据查询给出具体参数,请将 SELECT 放在 a.location 前面。 而且,你想做的是这样的:
插入restaurants_images_view(距离) 选择... 来自..
插入后不必使用值。
【讨论】:
以上是关于ORA-06550:第 12 行,第 9 列:PL/SQL:ORA-00936:缺少表达式 ORA-06550:第 9 行,第 5 列:PL/SQL:忽略 SQL 语句的主要内容,如果未能解决你的问题,请参考以下文章
ORA-06550:第 1 行,第 7 列:PLS-00201:必须声明标识符“PAYMENT_UPDATE” ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略