Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

How to check multiple 'or' conditions and 'not equal to' in IF statement?

723451Sep 25 2009 — edited Sep 25 2009
Hi:

I have written following script:

DECLARE

procedure pro_bpartner_master Is

kr_bpartnerid integer;
last_bpartner_id number(10,0);
villageid number(10,0);
genderid number(10,0);
genderinitial char(2);

CURSOR comp_cur IS select * from com_person_master ;
comp_rec comp_cur%ROWTYPE;

BEGIN
OPEN comp_cur;
FETCH comp_cur INTO comp_rec;

WHILE comp_cur%FOUND
LOOP

kr_bpartnerid:= comp_rec.person_id;

select crayom_db.cr_idbackup.cr_vilageid into villageid from crayom_db.cr_idbackup where crayom_db.cr_idbackup.kr_vilageid = comp_rec.village_ID;

select crayom_db.c_greeting.c_greeting_id into genderid from crayom_db.c_greeting where crayom_db.c_greeting.CR_Initial=comp_rec.Gender;

if (comp_rec.created_by != 0 or comp_rec.date_created != 0 or comp_rec.modified_by != 0 or comp_rec.date_modified != 0) Then
insert into crayom_db.C_Bpartner(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby,name,C_GREETING_ID,c_village_id,cr_name_ma) values(11,11,'Y',comp_rec.DATE_CREATED,comp_rec.CREATED_BY,comp_rec.DATE_MODIFIED,comp_rec.MODIFIED_BY,comp_rec.FNAME_EN || comp_rec.MNAME_EN || comp_rec.LNAME_EN,genderid,villageid,comp_rec.FNAME_MA || comp_rec.MNAME_MA || comp_rec.LNAME_MA);
else
insert into crayom_db.C_Bpartner(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby,name,C_GREETING_ID,c_village_id,cr_name_ma) values(11,11,'Y',sysdate,100,sysdate,11,comp_rec.FNAME_EN || comp_rec.MNAME_EN || comp_rec.LNAME_EN,genderid,villageid,comp_rec.FNAME_MA || comp_rec.MNAME_MA || comp_rec.LNAME_MA);
End If;
COMMIT;

select crayom_db.C_BPartner.C_BPartner_id into last_bpartner_id from crayom_db.C_BPartner where rownum=1 ORDER BY crayom_db.c_bpartner.c_bpartner_id DESC;

insert into crayom_db.CR_IdBackup(kr_bpartnerid,cr_bpartnerid) values(kr_bpartnerid, last_bpartner_id);
dbms_output.put_line(last_bpartner_id);
FETCH comp_cur INTO comp_rec;
End LOOP;
close comp_cur;
END;




BEGIN

pro_bpartner_master();


END;


In above script i have written IF statement using multiple or conditions.

But i am getting following error:


Error starting at line 1 in command:
DECLARE

procedure pro_bank_master Is

kr_bankid integer;
last_bank_id number(10,0);

CURSOR comp_cur IS select bank_id,date_created,created_by,modified_by,name_en from COM_BANK_MASTER ;
comp_rec comp_cur%ROWTYPE;

BEGIN

OPEN comp_cur;
FETCH comp_cur INTO comp_rec;

WHILE comp_cur%FOUND
LOOP

kr_bankid:= comp_rec.bank_id;

insert into crayom_db.C_Bank(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, routingno, c_location_id, swiftcode, isownbank, description) values(11,11,'Y',sysdate,100,sysdate,11,comp_rec.name_en,'A',1000009,'A','Y','A');

select crayom_db.C_Bank.c_bank_id into last_bank_id from crayom_db.C_Bank where rownum=1 ORDER BY crayom_db.c_bank.c_bank_id DESC;

insert into crayom_db.CR_IdBackup(kr_talukaid, cr_talukaid) values(kr_bankid, last_bank_id);

FETCH comp_cur INTO comp_rec;
End LOOP;
close comp_cur;
END;




procedure pro_taluka_master Is

kr_talukaid integer;
last_taluka_id number(10,0);

CURSOR comp_cur IS select * from com_taluka_master ;
comp_rec comp_cur%ROWTYPE;

BEGIN
OPEN comp_cur;
FETCH comp_cur INTO comp_rec;

WHILE comp_cur%FOUND
LOOP

kr_talukaid:= comp_rec.taluka_id;

insert into crayom_db.C_Taluka(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, c_city_id, cr_name_ma) values(11,11,'Y',sysdate,100, sysdate, 11,comp_rec.name_en,100,comp_rec.NAME_MA);
COMMIT;
select crayom_db.C_Taluka.c_taluka_id into last_taluka_id from crayom_db.C_Taluka where rownum=1 ORDER BY crayom_db.c_taluka.c_taluka_id DESC;
insert into crayom_db.CR_IdBackup(kr_talukaid,cr_talukaid) values(kr_talukaid, last_taluka_id);


FETCH comp_cur INTO comp_rec;
End LOOP;
close comp_cur;
END;



procedure pro_village_master Is

kr_villageid integer;
last_village_id number(10,0);
talukaid number(10,0);


CURSOR comp_cur IS select * from com_village_master ;
comp_rec comp_cur%ROWTYPE;

BEGIN
OPEN comp_cur;
FETCH comp_cur INTO comp_rec;

WHILE comp_cur%FOUND
LOOP

kr_villageid:= comp_rec.village_id;

select crayom_db.cr_idbackup.cr_talukaid into talukaid from crayom_db.cr_idbackup where crayom_db.cr_idbackup.kr_talukaid = comp_rec.TALUKA_ID;

insert into crayom_db.C_Village(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby,C_TALUKA_ID, name,postal, cr_name_ma) values(11,11,'Y',sysdate,100, sysdate, 11,talukaid,comp_rec.NAME_EN,comp_rec.pincode,comp_rec.NAME_MA);
COMMIT;

select crayom_db.C_Village.C_village_id into last_village_id from crayom_db.C_Village where rownum=1 ORDER BY crayom_db.c_village.c_village_id DESC;
/*select max(crayom_db.C_Village.C_village_id) into last_village_id from crayom_db.C_Village;*/

insert into crayom_db.CR_IdBackup(kr_vilageid,cr_vilageid) values(kr_villageid, last_village_id);
dbms_output.put_line(last_village_id);
FETCH comp_cur INTO comp_rec;
End LOOP;
close comp_cur;
END;


procedure pro_bpartner_master Is

kr_bpartnerid integer;
last_bpartner_id number(10,0);
villageid number(10,0);
genderid number(10,0);
genderinitial char(2);

CURSOR comp_cur IS select * from com_person_master ;
comp_rec comp_cur%ROWTYPE;

BEGIN
OPEN comp_cur;
FETCH comp_cur INTO comp_rec;

WHILE comp_cur%FOUND
LOOP

kr_bpartnerid:= comp_rec.person_id;

select crayom_db.cr_idbackup.cr_vilageid into villageid from crayom_db.cr_idbackup where crayom_db.cr_idbackup.kr_vilageid = comp_rec.village_ID;

select crayom_db.c_greeting.c_greeting_id into genderid from crayom_db.c_greeting where crayom_db.c_greeting.CR_Initial=comp_rec.Gender;

if (comp_rec.created_by != 0 or comp_rec.date_created != 0 or comp_rec.modified_by != 0 or comp_rec.date_modified != 0) Then
insert into crayom_db.C_Bpartner(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby,name,C_GREETING_ID,c_village_id,cr_name_ma) values(11,11,'Y',comp_rec.DATE_CREATED,comp_rec.CREATED_BY,comp_rec.DATE_MODIFIED,comp_rec.MODIFIED_BY,comp_rec.FNAME_EN || comp_rec.MNAME_EN || comp_rec.LNAME_EN,genderid,villageid,comp_rec.FNAME_MA || comp_rec.MNAME_MA || comp_rec.LNAME_MA);
else
insert into crayom_db.C_Bpartner(ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby,name,C_GREETING_ID,c_village_id,cr_name_ma) values(11,11,'Y',sysdate,100,sysdate,11,comp_rec.FNAME_EN || comp_rec.MNAME_EN || comp_rec.LNAME_EN,genderid,villageid,comp_rec.FNAME_MA || comp_rec.MNAME_MA || comp_rec.LNAME_MA);
End If;
COMMIT;

select crayom_db.C_BPartner.C_BPartner_id into last_bpartner_id from crayom_db.C_BPartner where rownum=1 ORDER BY crayom_db.c_bpartner.c_bpartner_id DESC;
/*select max(crayom_db.C_Village.C_village_id) into last_village_id from crayom_db.C_Village;*/

insert into crayom_db.CR_IdBackup(kr_bpartnerid,cr_bpartnerid) values(kr_bpartnerid, last_bpartner_id);
dbms_output.put_line(last_bpartner_id);
FETCH comp_cur INTO comp_rec;
End LOOP;
close comp_cur;
END;






BEGIN

pro_bpartner_master();


END;
Error report:
ORA-06550: line 124, column 55:
PLS-00306: wrong number or types of arguments in call to '!='
ORA-06550: line 124, column 1:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:



Can any body help me?


Thank You

Edited by: anupdesai1248@rediff.com on Sep 24, 2009 9:15 PM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 23 2009
Added on Sep 25 2009
2 comments
1,066 views