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

Jeg skal sende kolonnenavne ved hjælp af variabel i select-sætning i butiksprocedure, men jeg kan ikke bruge dynamisk forespørgsel

En måde at gøre dette på uden at bruge dynamisk sql er at bruge CASE-sætning

Men det her er grimt

SELECT EPV.EmployeeCode, case @RateOfEmployee  when 'RateOfEmployee' then RateOfEmployee
when 'X' then X 
..
end , case @RateOfEmployer  when 'RateOfEmployer' then RateOfEmployer
when 'Y' then Y
..
end 
FROM [HR_EmployeeProvisions] EPV

Du skal kontrollere alle kolonnerne i CASE erklæring.



  1. Hvordan man omskriver ER FORSKELLIG FRA og ER IKKE FORSKELLIG FRA?

  2. Er NOLOCK (Sql Server-tip) dårlig praksis?

  3. Sådan bruger du flere databaser dynamisk til en model i CakePHP

  4. Architecting for Security:En guide til MySQL