Create table emp
(id number(9), name varchar2(20),salary
number(9,2));
The table has 100 records after table created.Now i nee to
change id's Datatype is to be Varchar2(15). now

Alter table emp modify(id varchar2(15),name varchar2(20),
salary number(9,2));

Whether it will work or returns error? post answer with
explanation.

Answers were Sorted based on User's Feedback



Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / rinson

It will raise error ora-1439 column to be modifiedy must be
empty to change datatype.

Is This Answer Correct ?    26 Yes 2 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / subbarayulu

It Will not work properly. when ever the table with data
user can't chage the column's datatype. It allows to
increase the size of the data type only.

Is This Answer Correct ?    14 Yes 2 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / imran

It wo'nt work because if there is an data exist in
(id number(9)).You cannot modify if colmun is not empty.

Is This Answer Correct ?    15 Yes 5 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / sathish p

We cant change column datatype while the column having
values.. Bcos error will come when u run the Alter table
modify statement...

Is This Answer Correct ?    5 Yes 1 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / ramesh

It will work 100%.
becos. we are increasing the length. if we are decreasing
the length then it gives error.

Is This Answer Correct ?    3 Yes 0 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / abhishekjaiswal

They are asking change datatype from number to varchar2..So it is not possible if table have data..this will give error 'ORA-01439: column to be modified must be empty to change datatype'.You can alter table and modify that column in same data type.
See Example 
select * from a;
   N F
----- -------------------
    5
    1
    3
alter table a modify  (n varchar2(10))
                       *
ERROR at line 1:
ORA-01439: column to be modified must be empty to change datatype

  1* alter table a modify  (n number)
SQL> /

Table altered.<<<<<<<<<<<<<<<<<

Is This Answer Correct ?    2 Yes 0 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / lakshmanakumar

There should be error raised as below
ORA-01439: column to be modified must be empty to change
datatype

Is This Answer Correct ?    2 Yes 1 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / shailesh j

If column contains data then we can only modify size of
column without changing its data type. But if the column is
empty then we can modify its size as well data type.

Is This Answer Correct ?    1 Yes 0 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / krishna

It wil not work

Is This Answer Correct ?    2 Yes 2 No

Create table emp (id number(9), name varchar2(20),salary number(9,2)); The table..

Answer / reddi

It won't work coz number can't datatype can't be changed to
varchar. If data does not exits then its work fine.

Is This Answer Correct ?    2 Yes 2 No

Post New Answer

More SQL PLSQL Interview Questions

Should I use mbr or gpt?

0 Answers  


What is intersect?

1 Answers  


Is postgresql a nosql database?

0 Answers  


Can you have more than one trigger on a table?

0 Answers  


What is magic table?

6 Answers  






What is serial sql?

0 Answers  


Can there be more than one function with a similar name in a pl/sql block?

0 Answers  


What type of join is sql join?

0 Answers  


How do you get all records from 2 tables. Which join do you use?

8 Answers   Microsoft,


I have done oracle 10g. I need a project knowledge. So if u please send a project how it should be done,Or you can send email link. I will be very grateful to u.

1 Answers  


How can you get sql*loader to commit only at the end of the load file? : aql loader

0 Answers  


Can delete statement be rollbacked?

0 Answers  


Categories