Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

MS SSQL:Как да използвате case when като параметър exec

Вашето предположение е просто грешно. Проверете 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 ]
    }
[;]

Както виждате, можете да подадете като @parameter :

  • стойност
  • @variable
  • ПО ПОДРАЗБИРАНЕ

Така че трябва да използвате променлива, за да задържите резултата от извикването на функция и да го предадете на съхранена процедура.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Примери за форматиране на „datetimeoffset“ в SQL Server с помощта на стандартни форматни низове (T-SQL)

  2. Проблеми с датата и времето с vb.net и MSSQL

  3. Как да използвате логиката IF...THEN в SQL Server

  4. Стандартни низове за формат на дата/час, поддържани от FORMAT() в SQL Server

  5. Групово вмъкване на SQL Server – част 1