sql >> Base de Datos >  >> RDS >> Sqlserver

MS SSQL:cómo usar el caso cuando como parámetro exec

Tu suposición es simplemente incorrecta. Compruebe EXECUTE documentation

Execute a stored procedure or function
[ { EXEC | EXECUTE } ]
    { 
      [ @return_status = ]
      { module_name [ ;number ] | @module_name_var } 
        [ [ @parameter = ] { value 
                           | @variable [ OUTPUT ] 
                           | [ DEFAULT ] 
                           }
        ]
      [ ,...n ]
      [ WITH RECOMPILE ]
    }
[;]

Como ves puedes pasar como @parameter :

  • valor
  • @variable
  • POR DEFECTO

Por lo tanto, debe usar la variable para retener el resultado de la llamada a la función y pasarlo al procedimiento almacenado.