CREATE OR REPLACE Procedure Sp_Spname
(
zhen varchar2,
cun varchar2,
zu varchar2
)
As
Cursor Zzs_Cursor Is
Select * From zjbsc@Orcl_74 where sszc=zhen and ssc=cun and zld=zu;
Row_Cursor Zzs_Cursor%Rowtype;
Row_Diqu are_districtinfodic%Rowtype;
v_Count Integer;
Begin
If Zzs_Cursor%Isopen = False Then
Open Zzs_Cursor;
End If;
Loop
Fetch Zzs_Cursor
Into Row_Cursor; Exit Zzs_Cursor%Notfound Or Zzs_Cursor%Notfound Is Null;
Begin
v_Count := 1;
select * Into Row_Diqu from V1 where V1.dqmc1||V1.dqmc in (select ssc||zld from zjbsc@orcl_74 where sszc=zhen and ssc=cun);
--Select * Into Row_Diqu From are_districtinfodic Where Xxx = Row_Cursor.Xxx;
Exception
When No_Data_Found Then
v_Count := 0;
End;
If v_Count = 1 Then
Insert Into p_personinfo
Values
(seqare_districtinfodic.nextval,Row_Cursor.XM,Row_Cursor.XB,Row_Cursor.MZ,Row_Cursor.GMSFZHM,Row_Cursor.CSRQ,Row_Diqu.aid,Row_Cursor.jzdz,'',Row_Cursor.hzxz,Row_Cursor.hyzt,0,Row_Cursor.xzzt,sysdate);
End If;
End Loop;
Close Zzs_Cursor;
End Sp_Name;
之后报错PROCEDURE MYDEMO.SP_SPNAME 编译错误错误:PLS-00103: 出现符号 "%"在需要下列之一时:
. ; when
行:21
文本:Exit Zzs_Cursor%Notfound Or Zzs_Cursor%Notfound Is Null;错误:PLS-00103: 出现符号 "BEGIN"
行:22
文本:Begin错误:PLS-00103: 出现符号 "IF"在需要下列之一时:
end not pragma final
instantiable order overriding static member constructor map
行:30
文本:If v_Count = 1 Then错误:PLS-00103: 出现符号 "CLOSE"在需要下列之一时:
end not pragma final
instantiable order overriding static member constructor map
行:36
文本:Close Zzs_Cursor;错误:PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
pragma
行:37
文本:End Sp_Name;
(
zhen varchar2,
cun varchar2,
zu varchar2
)
As
Cursor Zzs_Cursor Is
Select * From zjbsc@Orcl_74 where sszc=zhen and ssc=cun and zld=zu;
Row_Cursor Zzs_Cursor%Rowtype;
Row_Diqu are_districtinfodic%Rowtype;
v_Count Integer;
Begin
If Zzs_Cursor%Isopen = False Then
Open Zzs_Cursor;
End If;
Loop
Fetch Zzs_Cursor
Into Row_Cursor; Exit Zzs_Cursor%Notfound Or Zzs_Cursor%Notfound Is Null;
Begin
v_Count := 1;
select * Into Row_Diqu from V1 where V1.dqmc1||V1.dqmc in (select ssc||zld from zjbsc@orcl_74 where sszc=zhen and ssc=cun);
--Select * Into Row_Diqu From are_districtinfodic Where Xxx = Row_Cursor.Xxx;
Exception
When No_Data_Found Then
v_Count := 0;
End;
If v_Count = 1 Then
Insert Into p_personinfo
Values
(seqare_districtinfodic.nextval,Row_Cursor.XM,Row_Cursor.XB,Row_Cursor.MZ,Row_Cursor.GMSFZHM,Row_Cursor.CSRQ,Row_Diqu.aid,Row_Cursor.jzdz,'',Row_Cursor.hzxz,Row_Cursor.hyzt,0,Row_Cursor.xzzt,sysdate);
End If;
End Loop;
Close Zzs_Cursor;
End Sp_Name;
之后报错PROCEDURE MYDEMO.SP_SPNAME 编译错误错误:PLS-00103: 出现符号 "%"在需要下列之一时:
. ; when
行:21
文本:Exit Zzs_Cursor%Notfound Or Zzs_Cursor%Notfound Is Null;错误:PLS-00103: 出现符号 "BEGIN"
行:22
文本:Begin错误:PLS-00103: 出现符号 "IF"在需要下列之一时:
end not pragma final
instantiable order overriding static member constructor map
行:30
文本:If v_Count = 1 Then错误:PLS-00103: 出现符号 "CLOSE"在需要下列之一时:
end not pragma final
instantiable order overriding static member constructor map
行:36
文本:Close Zzs_Cursor;错误:PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
pragma
行:37
文本:End Sp_Name;
解决方案 »
- 关于分布式数据库问题
- oracle建分区时能否只按时间不要日期限制??
- 在linux下用proc/c++往oracle里写汉字的问题(汉字给拆了,不知如何解决)
- 如何把一个表的某列的值给另外一个表的某列值,条件是两个表的某一个字段值相等
- 在Oracle Form Builder中如何调用动态库?
- 近来在安装oracle9i时,遇到点麻烦,高手们请指教。
- 请问在Oracle中用什么类型能存下SQL-server中的float类型?
- 请问在oracle中是否有实现类似sql server中with cube的功能?
- oracle——协议适配器错误问题
- Mac下虚拟机用centosLinux安装oracle
- pl/sql中写字符实体
- 使用ALTER TABLE .. MOVE TABLESPCE ..后如何收缩原表空间
cun varchar2,
zu varchar2) As
Cursor Zzs_Cursor Is
Select * From zjbsc@Orcl_74
where sszc = zhen
and ssc = cun
and zld = zu;
Row_Cursor Zzs_Cursor%Rowtype;
Row_Diqu are_districtinfodic%Rowtype;
v_Count Integer;
Begin
If Zzs_Cursor%Isopen Then
Open Zzs_Cursor;
End If;
Loop
Fetch Zzs_Cursor
Into Row_Cursor; Exit when Zzs_Cursor%Notfound;
Begin
v_Count := 1;
select *
Into Row_Diqu
from V1
where V1.dqmc1 || V1.dqmc in
(select ssc || zld
from zjbsc@orcl_74
where sszc = zhen
and ssc = cun);
--Select * Into Row_Diqu From are_districtinfodic Where Xxx = Row_Cursor.Xxx;
Exception
When No_Data_Found Then
v_Count := 0;
End;
If v_Count = 1 Then
Insert Into p_personinfo
Values
(seqare_districtinfodic.nextval,
Row_Cursor.XM,
Row_Cursor.XB,
Row_Cursor.MZ,
Row_Cursor.GMSFZHM,
Row_Cursor.CSRQ,
Row_Diqu.aid,
Row_Cursor.jzdz,
'',
Row_Cursor.hzxz,
Row_Cursor.hyzt,
0,
Row_Cursor.xzzt,
sysdate);
End If;
End Loop;
Close Zzs_Cursor;
End Sp_Spname;
CREATE OR REPLACE Procedure pro_aa(zhen varchar2,
cun varchar2,
zu varchar2)
As
Cursor Zzs_Cursor Is
Select XM,XB,MZ,GMSFZHM,CSRQ,JZDZ,HKXZ,HYZK,XZZT From zjbsc@Orcl_74
where sszc = zhen
and ssc = cun
and zld = zu;
Row_Cursor Zzs_Cursor%Rowtype; v_Count Integer;
Cursor diqu_Cursor Is
select *
from V1
where V1.dqmc1 || V1.dqmc in
(select ssc || zld
from zjbsc@orcl_74
where sszc = zhen
and ssc = cun);
Begin Open Zzs_Cursor;
/*open diqu_Cursor;*/ Loop
Fetch Zzs_Cursor Into Row_Cursor;
Exit when Zzs_Cursor%Notfound;
for rowaid in diqu_Cursor
loop
/*If v_Count = 1 Then*/
Insert Into p_personinfo
Values
(seqare_districtinfodic.nextval,
Row_Cursor.XM,
Row_Cursor.XB,
Row_Cursor.MZ,
Row_Cursor.GMSFZHM,
Row_Cursor.CSRQ,
rowaid.aid,
Row_Cursor.jzdz,
'',
Row_Cursor.hkxz,
Row_Cursor.hyzk,
0,
Row_Cursor.xzzt,
sysdate);
/* End If;*/
end loop;
End Loop;
Close diqu_Cursor;
Close Zzs_Cursor;
End pro_aa;
现在是可以用的。谢谢