如何检查SQL查询是否已在SQL Server 2012中的IF-ELSE控制语句中成功执行?

时间:2016-08-28 16:15:47

标签: sql sql-server database

我将部门名称存储在变量departments中,我现在将从该行获取该特定部门名称,我想知道create table dbo.departments ( department_id int primary key; department_name varchar(255); ) if(select @finaldepartment_id = department_id from dbo.departments where department_name like @department) set @department_flag = 1; else set @department_flag = 0; 表中是否存在部门ID用户输入的部门名称是否为有效部门。这该怎么做?如何将此查询转换为布尔表达式?

{{1}}

2 个答案:

答案 0 :(得分:2)

可以简化为单个查询

SET @department_flag = CASE 
                         WHEN EXISTS (SELECT 1 
                                      FROM   dbo.departments 
                                      WHERE  department_name LIKE Concat('%',@department,'%')) THEN 1
                         ELSE 0 
                       END 

答案 1 :(得分:1)

要检查是否有符合条件的部门使用EXISTS

IF EXISTS (
  select 1 
  from dbo.departments 
  where department_name like '%'+@department+'%'
  )

如果您需要将部门中的id分配给变量,请使用结果设置变量,然后检查它是否为空。