当前位置: 代码迷 >> Oracle开发 >> oracle存储过程:此表达式的门类声明不完整或格式不正确
  详细解决方案

oracle存储过程:此表达式的门类声明不完整或格式不正确

热度:20   发布时间:2016-04-24 07:26:02.0
oracle存储过程:此表达式的类型声明不完整或格式不正确
oracle开发工具:PLSQL
自定义数据类型:
SQL code
create or replace type Userconfig as object(  -- Attributes  CONFIG_ID  integer,  USER_ID integer,  CONFIGDEF_ID integer,  LINE_NO integer,  CONFIG_NAME VARCHAR2(100),  DESCR VARCHAR2(500),  VALUE VARCHAR2(100));create or replace type userconfig_table as table of userconfig;

存储过程:
SQL code
create or replace procedure pro_addsystemsettings(listnode  Userconfig_table) is mynumic integer;begin  for i in 1..listnode.count  loop   select  count(*) into mynumic from GIS_USERCONFIG;  end loop;end pro_addsystemsettings;

报错:
 select count(*) into mynumic from GIS_USERCONFIG;处出错。 
------------------------- 
具体错误如下:
  
Compilation errors for PROCEDURE TBFK.PRO_ADDSYSTEMSETTINGS

Error: PL/SQL: ORA-06552: PL/SQL: Compilation unit analysis terminated
  ORA-06553: PLS-320: 此表达式的类型声明不完整或格式不正确
Line: 6
Text: select count(*) into mynumic from GIS_USERCONFIG;

Error: PL/SQL: SQL Statement ignored
Line: 6
Text: select count(*) into mynumic from GIS_USERCONFIG;
--------------------------------
整个存储过程就一个循环加一个查询,结果报错,是工具原因还是环境原因,才接触oracle,如有遇到上述问题的人请给予
解决方案谢谢!


------解决方案--------------------
给变量:mynumic 初始化一个0试试。
------解决方案--------------------
把它的定义改成这个试试:
vn_mynumic number(4) := 0;

如果还不行,就把那张表,随便换成别的一张表,看看。
  相关解决方案