ORA-06550:第3行第2列:PLS-00103:遇到符号" 1"当期待以下之一时:

时间:2014-12-20 15:32:41

标签: oracle google-maps

我收到此错误消息:

  

ORA-06550:第3行,第2栏:PLS-00103:遇到符号" 1"

期待以下其中一项:

  

开始函数编译指示程序子类型当前游标删除存在

对于oracle apex web应用程序中的此代码:

declare
  1_address  varchar2(4000);
  1_url      varchar2(32000);
  1_response varchar2(3200);
begin
  1_address := :P3_STREET || ',' || :P3_CITY;
  if :P3_STATE is not null then
    1_address := 1_address || ',' || :P3_STATE;
  end if;
  if :P3_COUNTRY is not null then
    1_address := 1_address || ',' || :P3_COUNTRY;
  end if;
  1_address := replace(1_address, ' ', '+');

  1_url        := 'http://maps.google.com/maps/geo?q=' || 1_address || '&' ||
                  'output=c sv' || '&' || 'key=' || :API_KEY;
  1_response   := utl_http.request(1_url, APEX_APPLICATION.G_PROXY_SERVER);
  :P3_RESPONSE := 1_response;
  :P3_LOCATION := substr(1_response, instr(1_response, ',', 1, 2) + 1);
end;

我想将谷歌地图集成到我的应用程序中。

我遵循this指令,但它不起作用。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:3)

Oracle命名约定要求(参见here):

  1. 不带引号的标识符必须以数据库字符集中的字母字符开头。带引号的标识符可以以任何字符开头。
  2. 同样适用于PL / SQL变量名称(参见here):

      

    变量名称可以由字母,美元符号,下划线组成,   和数字标志。

         

    不能使用其他字符。

         

    变量名必须以字母开头,之后是任意组合   可以使用允许的字符。

         

    变量名的最大长度为30个字符。

         

    变量名称,如关键字和其他标识符的名称,不是   区分大小写。

    因此,将变量名称更改为Oracle可接受的名称。换句话说,请勿使用1启动它们。