Table Has C1 And C2 Column If Exits any record in c1 then
Update c2 record Otherwise insert new record in the C1 And
C2 (Using Procedure)

Answers were Sorted based on User's Feedback



Table Has C1 And C2 Column If Exits any record in c1 then Update c2 record Otherwise insert new rec..

Answer / ron

use oracle's new feature called upsert :

merge t1
using (select * t1) t2
on (t1.col1=t2.col1)
when matched then
update set col2='value'
when not matched then
insert into (col1, col2) values ('val1', 'val2');

Is This Answer Correct ?    3 Yes 0 No

Table Has C1 And C2 Column If Exits any record in c1 then Update c2 record Otherwise insert new rec..

Answer / dinesh a.

select * from x;

C1 C2
----- ----------
1
2
3
4
5
6
7
8
9
10


1 create or replace procedure updt_x is
2 cnt number(4);
3 begin
4 select count(1) into cnt from x where c1 is not null;
5 if cnt > 0 then
6 update x
7 set c2=10;
8 else
9 insert into x
10 values(1,2);
11 end if;
12 commit;
13* end;

SQL> execute updt_x;

PL/SQL procedure successfully completed.

SQL> select * from x;

C1 C2
---------- ----------
1 10
2 10
3 10
4 10
5 10
6 10
7 10
8 10
9 10
10 10

10 rows selected.


SQL> delete from x;

10 rows deleted.

SQL> commit;

PL/SQL procedure successfully completed.

SQL> select * from x;

C1 C2
---------- ----------
1 2

Is This Answer Correct ?    2 Yes 0 No

Table Has C1 And C2 Column If Exits any record in c1 then Update c2 record Otherwise insert new rec..

Answer / ramprasad.s

Hi Answer to Your question
IS
create or replace procedure samp(cname IN sample.ename%type,
cno IN sample.eno%type)
AS
ccount number;
begin
select count(*) INTO ccount from sample;
IF ccount = 0 then
update sample set ename = cname;
else
insert into sample values(cname, cno);
END IF;
END;


Sample Table is
ENAME ENO
100

Is This Answer Correct ?    1 Yes 0 No

Table Has C1 And C2 Column If Exits any record in c1 then Update c2 record Otherwise insert new rec..

Answer / senthilkumar

create or replace procedure update is

declare

cursor updt is

select cl from table;

num number(4);

begin

open updt;

fetch updt into num;

if num != NULL

then
update table set c2 = num or(desired data);


else
insert into table values(value,value);


exception

when others then

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

end;

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More Oracle General Interview Questions

Difference between varchar and varchar2 data types?

0 Answers  


Can you use a commit statement within a database trigger?

4 Answers  


What is the recommended interval at which to run statspack snapshots, and why?

0 Answers  


How to get execution path reports on query statements?

0 Answers  


How to get execution statistics reports on query statements?

0 Answers  






What are the different types of database objects?

0 Answers  


Can we convert a date to char in oracle and if so, what would be the syntax?

0 Answers  


What is SYSTEM tablespace and When is it Created?

2 Answers  


How do we create privileges in oracle?

0 Answers  


Can we store pictures in the database and if so, how it can be done?

0 Answers  


Explain implicit cursor.

0 Answers  


Explain the use of grant option in imp command.

0 Answers  


Categories
  • Oracle General Interview Questions Oracle General (1789)
  • Oracle DBA (Database Administration) Interview Questions Oracle DBA (Database Administration) (261)
  • Oracle Call Interface (OCI) Interview Questions Oracle Call Interface (OCI) (10)
  • Oracle Architecture Interview Questions Oracle Architecture (90)
  • Oracle Security Interview Questions Oracle Security (38)
  • Oracle Forms Reports Interview Questions Oracle Forms Reports (510)
  • Oracle Data Integrator (ODI) Interview Questions Oracle Data Integrator (ODI) (120)
  • Oracle ETL Interview Questions Oracle ETL (15)
  • Oracle RAC Interview Questions Oracle RAC (93)
  • Oracle D2K Interview Questions Oracle D2K (72)
  • Oracle AllOther Interview Questions Oracle AllOther (241)