判断数据库的一条数据是否存在 表名:NAMESTU, ID是222的若存在 修改他的NAGE为0不存在则添加一条心数据谢谢了,刚学ORCL

解决方案 »

  1.   

    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......)
      

  2.   

    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
      

  3.   

    实现上来说当然没有问题,上面的sql就可以实现,只是感觉一般这种情况用程序来作处理比较多,很少会用sql直接来处理的!
      

  4.   

    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
    还是用通用的吧,万一将来换数据库了呢
      

  5.   

    String hql =' FROM 数据库实体类 WHERE 条件';     //hibernate语句
    query = session.createQuery(hql);     //执行查询操作
    list = query.list();
    IF(list.size==0){    //没有查询到数据
           //这里可以去调用新增方法,把数据当参数传过去,新增方法另外写
    }else{     //表示已经查询到数据了,
          //这里可以去调用修改方法,把数据当参数传过去,修改方法另外写
    }
      

  6.   

    有必要么?
    你用程序不还是把执行的SQL语句写进去啊
      

  7.   

    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