`

case when then

阅读更多
select
  case when sum(case when c.ccus_code = :ccusCode then 1 else 0 end) > 0 then 1
when sum(case when c.ccus_Name = :ccusName then 1 else 0 end)  > 0 then 2
else 0 end rowCount
from cod_customer c
where c.CCUS_DEL_FLAG = 'N'
  <<and c.ccus_Id <> :ccusId>>
  and c.ccus_Org_Id = :ccusOrgId
  and  (c.ccus_Name = :ccusName
  or c.ccus_code = :ccusCode)


--------------------------------------

public CodCustomerModel save(CodCustomerModel model) {

final double checkResult = uniqueCheck(model);
if(checkResult == 0){
return this.dao.save(model);
}else if(checkResult == 1){
throw new ApplicationException("助记码重复");
}else if(checkResult == 2){
throw new ApplicationException("名称重复");
}else{
throw new ApplicationException("助记码或名称重复");
}
}

-----------------------------------------

private double uniqueCheck(CodCustomerModel model){
		
		CodCustomerUniqueCheckQueryCondition con = new CodCustomerUniqueCheckQueryCondition();
		con.setCcusId(model.getCcusId());
		con.setCcusOrgId(model.getCcusOrgId());
		con.setCcusCode(model.getCcusCode());
		con.setCcusName(model.getCcusName());
		
		List<CodCustomerUniqueCheckQueryItem> data = this.dao.query(con, CodCustomerUniqueCheckQueryItem.class);
		if(data.size() == 0){
			return 0;
		}
		return data.get(0).getRowcount();
	}
分享到:
评论

相关推荐

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    ### SQL数据库转Access SQL语句改写:Case When Then When Then Else End #### 知识点一:SQL CASE WHEN THEN 结构与Access IIF及SWITCH函数对比 在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何...

    case when then

    一条sql语句就能让你case when then怎么用,什么时候用

    sum(case when then)(判断男女生的个数)

    在SQL查询中,`SUM(CASE WHEN THEN)` 是一种非常有用的聚合函数,它允许我们根据特定条件对数据进行分类并求和。在这个场景中,它被用来计算一个类比班级中男生和女生的数量。让我们详细了解一下这个技术及其应用。 ...

    详细解析 mysql 中的 case when 语句的使用

    SUM(CASE WHEN download_type_id = 13 THEN 1 ELSE 0 END) AS count_13, SUM(CASE WHEN download_type_id = 14 THEN 1 ELSE 0 END) AS count_14, SUM(CASE WHEN download_type_id = 15 THEN 1 ELSE 0 END) AS ...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    Oracle CASE WHEN 多条件语句详解 CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: `...

    SQL集合函数中case when then 使用技巧

    在SQL中,`CASE WHEN THEN` 语句用于条件判断,它可以用来转换或过滤数据,尤其是在聚合函数中,如 `COUNT()`, `SUM()`, `AVG()` 等。这个表达式允许我们在一个查询中根据不同的条件执行不同的操作。 在标题提到的...

    SQL利用Case When Then多条件判断

    sql 存储过程 常见的问题 自己用也可分享

    case when then语句用法

    该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...

    sql学习之CASE WHEN THEN ELSE END的用法

    在SQL语言中,`CASE WHEN THEN ELSE END`结构是一种强大的条件判断工具,它允许你在查询中根据特定条件执行不同的逻辑。这个结构可以在`SELECT`、`WHERE`、`HAVING`、`UPDATE`和`INSERT`等语句中使用,以实现复杂的...

    oracle where case when where后面跟case when

    WHERE salary &gt; (CASE WHEN AVG(salary) IS NOT NULL THEN AVG(salary) ELSE 0 END); ``` 在这个例子中,`CASE WHEN`语句检查平均薪资是否为`NULL`,如果不是,则使用平均薪资作为比较值;如果是`NULL`,则使用0。 ...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...

    ORACLE多条件统计查询的简单方法

    在描述中提到的方法,通过使用`CASE WHEN THEN ELSE END`语句,我们可以实现更简洁且高效的统计查询。 `CASE`表达式在SQL中是一个非常强大的工具,它允许我们在查询中进行条件判断。在Oracle中,`CASE`语句的基本...

    Oracle_case_when_用法

    ### Oracle CASE WHEN 用法详解 #### 一、概述 在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`...

    mysql 语法工作积累

    #### MySQL 函数与 Case When Then 的应用 在数据库管理与查询过程中,MySQL 提供了丰富的内置函数以及灵活的控制结构,能够帮助开发者更高效地处理数据。本文将围绕 MySQL 中的一些常见函数,特别是 `CASE WHEN ...

    decode函数与case when 的妙用

    在数据库管理和SQL编程中,`DECODE`函数和`CASE WHEN`语句是两种非常重要的逻辑判断工具,它们常用于处理条件分支和数据转换。在这篇文章中,我们将深入探讨这两种方法的用途、区别以及如何巧妙地运用它们。 首先,...

    SQL__case_when_then_的用法

    SQL__case_when_then_的用法

    sql case when exists not exists in not in

    在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...

Global site tag (gtag.js) - Google Analytics