java编译plsql_如何找出PLSQL编译错误

create or replace procedure address_insert

as

CREATE type colorarray is varray(10) of varchar2(10);

CREATE type cities is varray(6) of varchar2(20);

CREATE type states is varray(6) of varchar2(15);

CREATE type zipcodes is varray(6) of number(10);

CREATE type countries is varray(6) of varchar2(15);

city cities;

Colour colorarray;

zip zipcodes;

state states;

country countries;

id1 number;

x number;

ca number;

r number;

begin

x:=1;

ca:=1;

id1:=1;

r:=1;

city:=cities('Visakhapatnam','Hyderabad','Bangalore','Chennai','Kurnool','secunderabad');

colour :=colorarray('Red', 'Blue', 'green', 'Dark blue', 'yellow', 'orange', 'brown', 'black', 'white', 'purple');

state:=states('Telangana','Tamilnadu','Karnataka','Andhra Pradesh','Madya Pradesh','Kerala');

zip:=zipcodes(530081,500072,316190,981272,717999,621896);

country:=countries('India','Nepal','Pakistan','USA','Bangladesh','UK');

while x

if ca>10 then

ca:=1;

end if;

if r>6 then

r:=1;

end if;

insert into persons_addresses(Address_id,Persons_id,flatname,flatno,house_color,contact_person,address_line1,address_line2,address_line3,

city,district,state,zipcode,country) values

(id1,(select persons_id from (select persons_id,row_number()over (order by persons_id) as rn from person_data)tmp where rn=x),

(SELECT dbms_random.string('L', 15) from dual),(SELECT round(dbms_random.value(100,1000)) num FROM dual),colour(ca),

(SELECT dbms_random.string('L', 5)|| ' ' ||dbms_random.string('L', 7) from dual),

(SELECT dbms_random.string('L', 9)|| ' ' ||dbms_random.string('L', 6)|| ' ' ||dbms_random.string('L', 8)|| ' ' ||dbms_random.string('L', 10)

FROM dual),(SELECT dbms_random.string('L', 9)|| ' ' ||dbms_random.string('L', 6)|| ' ' ||

dbms_random.string('L', 8)|| ' ' ||dbms_random.string('L', 10) FROM dual),(SELECT dbms_random.string('L', 9)|| ' ' ||

dbms_random.string('L', 6)|| ' ' ||dbms_random.string('L', 8)|| ' ' ||dbms_random.string('L', 10) FROM dual),city(r),(SELECT dbms_random.string('L', 9) from dual),

state(r),zip(r),country(r));

commit;

id1:=id1+1;

ca:=ca+1;

r:=r+1;

x:=x+1;

end loop;

EXCEPTION -- exception handlers begin

WHEN OTHERS THEN -- handles all other errors

DBMS_OUTPUT.PUT_LINE (SQLCODE|| ' ' || SQLERRM);

end;

有一个编译警告 .

警告:执行完成时出现警告程序address_insert已编译 .

执行时:

execute address_insert

从命令的第1行开始出错:执行address_insert错误报告:ORA-06550:第1行第7列:PLS-00905:对象DATAFOCUS_GROUP.ADDRESS_INSERT无效ORA-06550:第1行第7列:PL / SQL:语句被忽略06550. 00000 - “行%s,列%s:\ n%s”*原因:通常是PL / SQL编译错误 . *行动:

有什么办法可以找出编译错误吗?

SELECT *

FROM USER_ERRORS

WHERE NAME = 'ADDRESS_INSERT'

上面的查询帮助检索错误 .

错误:

“PLS-00103:遇到以下其中一项时遇到符号”CREATE“:开始函数编译指示程序子类型当前游标删除存在先于外部语言符号”CREATE“被忽略 . ”由于varray遇到上述错误定义 . 还有其他选择吗?

其他错误:

“PLS-00103:当遇到以下情况之一时遇到符号”SELECT“:( - case mod new not null continue avg count current exists last min before sql stddev sum variance execute forall merge time timestamp interval date pipe,from”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值