判断一条数据是否存在

沉默又寡言 2011-09-26 12:45:03
判断数据库的一条数据是否存在 表名:NAMESTU, ID是222的

若存在

修改他的NAGE为0

不存在



添加一条心数据

谢谢了,刚学ORCL
...全文
230 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyu871225 2011-10-21
  • 打赏
  • 举报
回复
有必要么?
你用程序不还是把执行的SQL语句写进去啊
[Quote=引用 15 楼 rockyljt 的回复:]
最好还是用程序实现
[/Quote]
ghost0614 2011-10-21
  • 打赏
  • 举报
回复
4楼正解
yejihui9527 2011-10-21
  • 打赏
  • 举报
回复
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
xunmengzhi 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lxyzxq2008 的回复:]
SQL code
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......)
[/Quote]
学习了,谢谢~
---涛声依旧--- 2011-10-11
  • 打赏
  • 举报
回复
最好还是用程序实现
---涛声依旧--- 2011-10-11
  • 打赏
  • 举报
回复
最后还是用程序实现
herofour444 2011-10-10
  • 打赏
  • 举报
回复
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


还是用通用的吧,万一将来换数据库了呢
xiaoyu871225 2011-10-10
  • 打赏
  • 举报
回复
此楼正解!
[Quote=引用 4 楼 lxyzxq2008 的回复:]
SQL code

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......)
[/Quote]
wangwengfeng 2011-10-10
  • 打赏
  • 举报
回复


String hql =' FROM 数据库实体类 WHERE 条件'; //hibernate语句
query = session.createQuery(hql); //执行查询操作
list = query.list();
IF(list.size==0){ //没有查询到数据
//这里可以去调用新增方法,把数据当参数传过去,新增方法另外写
}else{ //表示已经查询到数据了,
//这里可以去调用修改方法,把数据当参数传过去,修改方法另外写
}
nvhaixx 2011-10-10
  • 打赏
  • 举报
回复
这个一般是不会直接插吧!应该是用写代码的方式判断!
xiaozhuangfeng 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lxyzxq2008 的回复:]
SQL code
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......)
[/Quote]再顶顶
灰哥 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 luckyzhangye 的回复:]
引用 4 楼 lxyzxq2008 的回复:
SQL code
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......)

顶~~
[/Quote]

再顶...
沉默又寡言 2011-09-26
  • 打赏
  • 举报
回复
没有人?
iqlife 2011-09-26
  • 打赏
  • 举报
回复
MERGE INTO
luckyzhangye 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lxyzxq2008 的回复:]
SQL code
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......)
[/Quote]
顶~~
lxyzxq2008 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 overset 的回复:]

没有人?
[/Quote]实现上来说当然没有问题,上面的sql就可以实现,只是感觉一般这种情况用程序来作处理比较多,很少会用sql直接来处理的!
cosio 2011-09-26
  • 打赏
  • 举报
回复
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

lxyzxq2008 2011-09-26
  • 打赏
  • 举报
回复
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......)
cosio 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 overset 的回复:]
判断数据库的一条数据是否存在 表名:NAMESTU, ID是222的

若存在

修改他的NAGE为0

不存在



添加一条心数据

谢谢了,刚学ORCL
[/Quote]

完全可以考虑用程序来实现,不一定要用数据库来实现!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧