将多个IF EXIST语句转换为更具可读性的语句

时间:2012-06-21 20:08:55

标签: sql sql-server

我有以下多个级别:

IF EXISTS(...)
BEGIN
  IF NOT EXISTS(...)
  BEGIN
  END
END

如何为变量赋值并执行此操作:

@doesXExist = IF EXISTS(...)

IF @doesExist
  IF NOT EXISTS(...)
  BEGIN
  END
END

这可能吗?

1 个答案:

答案 0 :(得分:8)

SQL Server没有布尔数据类型。你可以做到

DECLARE @doesXExist BIT = CASE WHEN EXISTS(...) THEN 1 ELSE 0 END

(合并的DECLARE和set语法为2008 +)

但你无法做IF @doesExist IF @doesExist = 1IF @doesExist = 'True'