我的 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