2016-02-08 9 views
0

У меня есть создать запись в пакете и объявлять переменные типа в одной из процедур пакета и когда я пытаюсь инициализировать некоторое значение записи я получаю следующее сообщение об ошибке:Ошибка при инициализации записи Значение

[Error] PLS-00103 (372: 14): PLS-00103: Encountered the symbol "." when expecting one of the following:constant exception <an identifier> 
    <a double-quoted delimited-identifier> table long double ref 
    char time timestamp 

Пакет Body Как следует:

CREATE OR REPLACE PACKAGE BODY package_a 
AS 

TYPE location_details IS RECORD 
(region_id VARCHAR(40), 
lat VARCHAR2(10), 
ranges VARCHAR2(5) 
) ; 


PROCEDURE do_actions (p_action_id IN NUMBER) 
    AS 

variable_1 location_details 

BEGIN 
variable_1.ranges := '5'; 

END; 
END package_a; 

Я не в состоянии определить причину ошибки здесь.

+0

код выглядит правильно, возможно, вы можете попробовать объявить тип записи в спецификации пакета, если этот пакет используется в другом программном блоке. вам может потребоваться добавить больше кода. –

+0

Я также объявляю запись в спецификации пакета. Но та же проблема. –

ответ

0

add; после

variable_1 location_details; 

in do_actions процедура.

+0

Я пробовал это и сталкивался с той же проблемой. Полу, двоеточие не проблема, я думаю, что Нагендра пропустила это, поставив вопрос. – user1

0
CREATE OR REPLACE PACKAGE BODY APP.package_a 
AS 
TYPE location_details IS RECORD 
(region_id VARCHAR(40), 
lat VARCHAR2(10), 
ranges VARCHAR2(5) 
) ; 

    enter code here 

PROCEDURE do_actions (p_action_id IN NUMBER) 
    AS 
variable_1 location_details ; 
BEGIN 
variable_1.ranges := '5'; 
END; 
END package_a; 
Смежные вопросы