`

在sql语句中根据判断条件更新数据

阅读更多
遇到的问题:
比如在数据库中更新一条数据,当fabusj为空时进行赋值,不为空时保留原来的数据。这样的sql语句该如何写?
我是要把这条语句用在jsp页面中
如:update office set fbflag='已发布',blzt='1',(fabusj=?(这个字段为空时才进行赋值)) where workflowinstance_guid=?"


解决思路:

1、在sql语句中添加if-else判断条件
2、取出字段值,然后再判断
3、写存储过程


解决过程:

第一种方法,要求对数据库编程熟悉,但我是个菜鸟,目前没有想到改如何去写,不过,以后会将解决的方法贴上

第二种方法,简单易懂,在程序中是很普遍使用的一种方法,但执行性能上不是很好

第三种方法,实质上是把问题复杂化了,都也是一种解决问题的办法


解决结果:

采用了最简单易懂的第二种方法:

try{
      conn=Conn.getConnection();//获取数据库的连接
      String sql3 = "select fabusj from office  where workflowinstance_guid='"+instanceGuid+"'";
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql3);
      if(rs.next()){
      String  sql="update office set fbflag='已发布',blzt='1' where workflowinstance_guid=?";
    pst=conn.prepareStatement(sql);
  pst.setString(1,instanceGuid);
    int u=pst.executeUpdate();
if(u>0){
     out.println("信息成功发布到网站!!!");
   }
      }
      else{
String  sql="update office set fbflag='已发布',blzt='1',fabusj=? where workflowinstance_guid=?";
 
  pst=conn.prepareStatement(sql);
  pst.setString(1,rq);
  pst.setString(2,instanceGuid);
  int u=pst.executeUpdate();
  if(u>0){
     out.println("信息成功发布到网站!!!");
   }
  }


问题总结:

当遇到问题时,要多角度分析问题,使用最新最有效的办法最好,但最后往往是最简单最通俗的办法最有效。
技术是学无止境的,要不断提高自己多方面的知识储备量
分享到:
评论

相关推荐

    用sql语句由excel表往sqlserver数据库表中导数据

    ### 使用SQL语句将Excel数据导入SQL Server数据库 在日常工作中,经常需要处理不同格式的数据文件,例如将Excel表格中的...同时,在实际应用过程中,还需要根据具体情况调整参数设置,以提高数据导入的效率和准确性。

    页面传入多个条件——sql语句的拼接

    根据上面的条件判断,最终形成的SQL语句将只包含那些非空或非默认值的条件。 ### 安全性和性能考虑 #### 安全性 - **防止SQL注入**:在实际应用中,为了防止SQL注入攻击,建议使用预编译语句(如...

    在查询语句中使用条件判断

    在SQL语言中,`CASE`语句是实现这种条件判断的有效方式之一。通过本篇文章,我们将深入探讨如何在SQL查询语句中使用条件判断,并结合示例代码来详细解析其工作原理。 ### SQL中的条件判断:`CASE`语句 #### 什么是...

    使用sql语句查询的数据按时间递增累加

    根据提供的文件信息,本文将详细解释如何使用SQL语句实现数据的时间递增累加功能。在实际业务场景中,这种需求非常常见,特别是在财务、库存管理或者数据分析等领域,需要跟踪随时间变化的数据趋势。 ### 一、理解...

    泛微系统SQL语句大全

    - 组织架构是企业信息化管理的基础,SQL语句可用于查询、更新和维护组织结构,例如部门、职位、员工信息等。例如,你可以使用`SELECT`语句来获取所有部门的信息,或者使用`INSERT`和`UPDATE`来新增或修改组织结构...

    SQL 执行超长语句

    2. **数据清洗**:对于需要根据特定规则对数据进行清洗的应用场景,可能会使用到包含多个CASE WHEN语句的复杂SQL语句。 3. **报表生成**:生成复杂的报表时,往往需要从多个表中抽取数据并进行复杂的联接操作,从而...

    MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据

    MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据库操作。在JDBC或其他类似框架中,开发人员通常需要手动拼接SQL语句,这既繁琐又易出错。...

    C#将Lambda表达式转成Sql语句

    然而,在某些情况下,我们需要将这些表达式转换为实际的SQL语句,以便在数据库中执行。本文将深入探讨如何实现这一过程。 首先,我们需要了解Lambda表达式的基本结构。Lambda表达式通常以参数列表开始,后面跟着一...

    Access中的SQL语句.doc

    知识点:Select * 语句可以查询所有记录,但不建议在生产环境中使用,因为它会将所有数据都显示出来,可能会影响性能。 2. 投影查询:使用 Select 语句可以查询指定的列,例如 Select 职工号, 姓名, 工资 from 职工...

    SQL中存储过程中SQL语句的单引号和双引号问题[总结].pdf

    在 SQL 中,单引号和双引号的问题是一个常见的混淆点,特别是在存储过程中编写 SQL 语句时。下面将对此问题进行详细的解释和总结。 一、单引号和双引号的基本概念 在 SQL 中,单引号(')和双引号(")都是用来...

    SQL语句大全,包括所有常用的SQL语句

    在实际使用中,SQL语句通常结合业务需求和数据库设计进行组合使用,以实现复杂的查询和数据操作。熟练掌握这些基本语句是数据库管理、数据分析和开发人员的基础技能。通过熟练运用这些语句,你可以有效地管理数据,...

    利用Excel批量生成单条SQL语句

    在IT行业中,数据库管理和数据处理是一项重要的任务,而利用Excel批量生成单条SQL语句能够极大地提高工作效率。这里我们将深入探讨这一主题,了解如何通过配置模板、导入Excel数据以及运用JavaScript脚本来实现这一...

    常用 SQL 语句大全+50个常用sql语句总结

    根据给定的文件信息,以下是对“常用 SQL 语句大全+50个常用sql语句总结”的详细解析,涵盖数据操作、数据定义、数据控制、事务控制以及程序化 SQL 等方面的重要知识点。 ### 数据操作 1. **SELECT**:用于从...

Global site tag (gtag.js) - Google Analytics