プロシージャに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ステートメントをどのように置き換えることができますか?
どうもありがとう