there are 2 variables called x and y ,x contains 1,2 and y
contains 3,4 we have to swap the values from x to y and y
to x with out using dummy variables and it can be done only
by using a single statement ? how?
Answers were Sorted based on User's Feedback
Answer / ravin
Buddies, why are you all selecting from and updating the
tables. The question says, just two variables to be swapped
without using any extra variable and also with a single
statement.
And Ramakanth's answer is right i.e. y=x+y-(x=y) . Thats it.
^^x contains 1,2 - didn't understand though.
| Is This Answer Correct ? | 13 Yes | 2 No |
declare
x number:= 1;
y number:= 2;
begin
x := x + y;
dbms_output.put_line (x); -- output 3;
y := x - y;
dbms_output.put_line (y); -- output 1;
x := x - y;
dbms_output.put_line (x); -- output 2;
end;
/
| Is This Answer Correct ? | 8 Yes | 5 No |
Answer / radha sri seshu.kolla
YES SMITA I HAVE ONE DOUBT IN YOUR QUESTION. X CONTAIN 1,2
HOW ONE VARIABLE CAN HOLD TWO VALUES AT A TIME. TRY TO BE
MORE SPECIFIC IN YOUR QUESTION
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / v
yeah completely agree with u(the above person).The answer
was supposed to be in a single statement and everybody
wrote an history 4 it....hehe
no offence meant
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / senthil kumar
declare
x number:= 1;
y number:= 3;
begin
x := x + y;
dbms_output.put_line (x); -- output 4;
y := x - y;
dbms_output.put_line (y); -- output 1;
x := x - y;
dbms_output.put_line (x); -- output 3;
end;
/
Now Y got 1 and x got 3 samae way of x = 2, y =4
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / sheshadri
String x="1,2";
String y="3,4";
x=(y+"$"+(y=x)).split("[$]")[0];
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / nanne saheb c
Assume that the sample table is as below
X Y
------------
1 3
2 4
Update sample set
X=decode(X,1,3,2,4),
Y=decode(Y,3,1,4,2);
(OR)
Update sample set
X = (case when 1 then 3
when 2 then 4
end),
Y = (case when 3 then 1
when 4 then 2
end);
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / raji_4u
IF YOU WANT TO UPDATE THE TABLE,
UPDATE TABLE_NAME
SET X = Y, Y = X;
--------------------------
IF YOU WANT TO JUST DISPLAY,
SELECT Y X,X Y FROM TABLE_NAME;
ISN'T THIS SIMPLE THAN SANTHI.K DID.
| Is This Answer Correct ? | 5 Yes | 7 No |
i have a customer table. trans_id trans_date trans_amt debit_credit_indicator 001 01-JAN-13 1099 cr 001 12-JAN-13 500 db 002 24-FEB-13 400 db 002 23-MAR-13 345 cr 001 18-APR-13 800 cr 002 15-MAR-13 600 db 001 12-FEB-13 200 cr i want like this output. trans_id trans_amt debit_credit_indicator i want get highest credit amount and lowest credit amount and highest debit amount and lowest debit amount for each trans_id.
What is raw datatype in sql?
What are pl/sql exceptions? Tell me any three.
How to select the Nth maximum salary from Table Emp in Oracle SQL Plus ?
what is 'mysqlcheck'? : Sql dba
How will you select unique values from a list of records?
Enlist the advantages of sql.
what are ddl statements in mysql? : Sql dba
What are the query optimization techniques?
Difference between NVL, NVL2 and NULLIF
How do I kill a query in postgresql?
how is myisam table stored? : Sql dba
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)