Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

MS SSQL:come usare case quando come parametro exec

La tua ipotesi è semplicemente sbagliata. Controlla 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 ]
    }
[;]

Come vedi puoi passare come @parameter :

  • valore
  • @variabile
  • DEFAULT

Quindi è necessario utilizzare la variabile per conservare il risultato della chiamata di funzione e passarlo alla procedura memorizzata.