SQL コマンドに問題があります。このメソッドはパラメーター値を受け取りますが、常に最後の if の値を返すことになります。
どうすればこれを解決できますか? 場合?
ありがとうございました
ALTER FUNCTION [dbo].[f_ResponsavelRisco] (@idDiretoria AS INT = NULL, @idArea AS INT = NULL, @idSubArea AS INT = NULL )
RETURNS INT AS
BEGIN
DECLARE @RETORNO INT
SET @RETORNO = 0
IF ISNULL(@idDiretoria,'') <> ''
SET @RETORNO = @idDiretoria
IF ISNULL(@idArea,'') <> ''
SET @RETORNO = @idArea
IF ISNULL(@idSubArea,'') <> ''
SET @RETORNO = @idSubArea
RETURN @RETORNO
END
動作しません。パラメータが @idDiretoria の場合は正しく動作しますが、パラメータが @idArea の場合は動作しません。
ALTER FUNCTION [dbo].[f_ResponsavelRisco] (@idDiretoria AS INT = NULL, @idArea AS INT = NULL, @idSubArea AS INT = NULL )
RETURNS INT AS
BEGIN
DECLARE @RETORNO INT
SET @RETORNO = 0
IF @idDiretoria IS NOT NULL
SET @RETORNO = @idDiretoria
IF @idArea IS NOT NULL
SET @RETORNO = @idArea
IF @idSubArea IS NOT NULL
SET @RETORNO = @idSubArea
RETURN COALESCE( @idDiretoria, @idArea, @idSubArea, 0 )
END