Si más en el procedimiento almacenado servidor sql

He creado un procedimiento almacenado de la siguiente manera:

Create Procedure sp_ADD_USER_EXTRANET_CLIENT_INDEX_PHY
(
@ParLngId int output
)
as
Begin
    SET @ParLngId = (Select top 1 ParLngId from T_Param where ParStrNom = 'Extranet Client')
    if(@ParLngId = 0)
        begin
            Insert Into T_Param values ('PHY', 'Extranet Client', Null, Null, 'T', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL)
            SET @ParLngId = @@IDENTITY
        End
    Return @ParLngId
End

Así que establezco una variable@ParLngId, Compruebo si hay tales datos en una tabla, si es así, devuelvo el valor, si no inserto uno y devuelvo la variable que contiene el Id de la línea insertada ... Pero ahora me muestra una SqlException:

Subconsulta devolvió más valores. Esto no está permitido cuando la subconsulta sigue = ,! =, <, <=,>,> = O cuando se usa como una expresión.

¿Alguien tiene una solución?

Respuestas a la pregunta(7)

Su respuesta a la pregunta