|
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-05-15
作为一个初学者在真的收获了不少!
|
|
| 返回顶楼 | |
|
时间:2008-05-16
aimer311 写道 大概是这样的。
两张表: A:id,age,column1,column2 B:id,age,column1,column2 A.id 与 B.id关联。 将B中age>40的column1,column2更新到A的相应记录中,只能写一个语句。 写出mysql和oracle两个版本。 不知道怎么写。 个人觉得这样的面试也没什么意义,其实在面试,要考你JAVA,就一定让你用JAVA实现,要考你Database,就一定要你用SQL实现,难道写程序时,JAVA与SQL是分离的吗,在SQL里,看似很复杂的东西,其实在做系统的时候,结合JAVA与SQL,就很容易实现了,而用纯JAVA非常难实现的东西,或许只要配合一张表,就轻松搞定,哎,面试,为什么总是要跟实现应用脱离呢?难道SQL很厉害的人,就一定能写出优秀的程序和高效率吗?难道JAVA很熟的人,就一定能写出优秀的程序和高效率吗? 一个实战型的程序员,一般都能找到一种最快的办法实现目的,而不是在那里慢慢搞一个SQL研究或JAVA类实现。公司开来是赚钱的,不是搞研究的。 |
|
| 返回顶楼 | |
|
时间:2008-05-16
这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的 |
|
| 返回顶楼 | |
|
时间:2008-05-16
ddandyy 写道 这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的 试想一下,用JAVA与数据库结合实现: 一个while的事,何必搞得那么深沉呢? |
|
| 返回顶楼 | |
|
时间:2008-05-16
vicksong 写道 ddandyy 写道 这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的 试想一下,用JAVA与数据库结合实现: 一个while的事,何必搞得那么深沉呢? |
|
| 返回顶楼 | |
|
时间:2008-05-16
vicksong 写道 ddandyy 写道 这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的 试想一下,用JAVA与数据库结合实现: 一个while的事,何必搞得那么深沉呢? 一句能用SQL搞定的事,还要用while搞,那才深沉呢 |
|
| 返回顶楼 | |
|
时间:2008-05-16
armorking 写道 oracle
update A
set A.column1 = (
select b.column1
from B where B.id = A.id
and B.age > 40
),
A.column2 = (
select b.column2
from B where B.id = A.id
and B.age > 40
)
上面的SQL代码你真的测试过了吗? 若想把表A的纪录合并到表B中,Oracle中最自然的方法是使用MERGE语句:
merge into A
using (select * from B where B.age > 40) T
on (A.id= T.id)
when matched then
update set A.c1= T.c1, A.c2= T.c2
when not matched then
insert (id, c1, c2)
values (T.id, T.c1, T.c2)
|
|
| 返回顶楼 | |
|
时间:2008-05-16
抛出异常的爱 写道 vicksong 写道 ddandyy 写道 这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的 试想一下,用JAVA与数据库结合实现: 一个while的事,何必搞得那么深沉呢? 老大,你们的SQL不是写在TXT文件中,程序运行时LOAD再执行的吧...... |
|
| 返回顶楼 | |
|
时间:2008-05-17
update a, b set a.column1=b.column1, a.column2=b.column2 where a.id=b.id and b.age>=40
|
|
| 返回顶楼 | |
|
时间:2008-05-18
update A set a.column1=b.column1,a.column2=b.column2 from a,b where b.age>40 and a.id=b.id
|
|
| 返回顶楼 | |









