我需要在我的过程中添加一个 if 语句,就像这样
CREATE PROCEDURE [dbo].[myProcedure]
@name VARCHAR(8000) = NULL
,@lname VARCHAR(8000) = NULL
,@flag CHAR(1) = NULL
AS
BEGIN
SET NOCOUNT ON;
WITH t
(name
,lname
)
AS
(
SELECT DISTINCT
* FROM mytable
WHERE
(@name IS NULL OR @name = name)
IF @flag = 'c'
BEGIN
AND (@lname IS NULL OR @lname = 'Doe')
END
ELSE
BEGIN
AND (@lname IS NULL OR @lname = lname)
END
)
正如您所看到的,根据标志,我以一种或另一种方式使用 lname 字段。我在 if 部分遇到错误。是我不能在这里使用 if 语句吗?如果不是,我该如何替换 if 语句?
非常感谢