merge into namestu a using dual on (a.id = 222) when matched then update set a.nage = 0 when not matched then insert values(222,value2......)
select count(1) INTO l_n from NAMESTU where id=222 if l_n>0 then update NAMESTU set NAGE=0 where id=222 else insert into NAMESTU (....) values(....) end if
select count(1) INTO l_n from NAMESTU where id=222 if l_n>0 then update NAMESTU set NAGE=0 where id=222 else insert into NAMESTU (....) values(....) end if 还是用通用的吧,万一将来换数据库了呢
String hql =' FROM 数据库实体类 WHERE 条件'; //hibernate语句 query = session.createQuery(hql); //执行查询操作 list = query.list(); IF(list.size==0){ //没有查询到数据 //这里可以去调用新增方法,把数据当参数传过去,新增方法另外写 }else{ //表示已经查询到数据了, //这里可以去调用修改方法,把数据当参数传过去,修改方法另外写 }
有必要么? 你用程序不还是把执行的SQL语句写进去啊
select count(1) INTO l_n from NAMESTU where id=222 if l_n>0 then update NAMESTU set NAGE=0 where id=222 else insert into NAMESTU (....) values(....) end if
using dual
on (a.id = 222)
when matched then
update set a.nage = 0
when not matched then
insert values(222,value2......)
if l_n>0 then
update NAMESTU set NAGE=0 where id=222
else
insert into NAMESTU (....) values(....)
end if
if l_n>0 then
update NAMESTU set NAGE=0 where id=222
else
insert into NAMESTU (....) values(....)
end if
还是用通用的吧,万一将来换数据库了呢
query = session.createQuery(hql); //执行查询操作
list = query.list();
IF(list.size==0){ //没有查询到数据
//这里可以去调用新增方法,把数据当参数传过去,新增方法另外写
}else{ //表示已经查询到数据了,
//这里可以去调用修改方法,把数据当参数传过去,修改方法另外写
}
你用程序不还是把执行的SQL语句写进去啊
if l_n>0 then
update NAMESTU set NAGE=0 where id=222
else
insert into NAMESTU (....) values(....)
end if