sql >> Database >  >> RDS >> Sqlserver

Ik moet kolomnamen doorgeven met behulp van variabele in select-instructie in Store Procedure, maar ik kan geen dynamische query gebruiken

Een manier om dit te doen zonder dynamische sql te gebruiken, is door het CASE-statement te gebruiken

Maar dit is lelijk

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

Je moet alle kolommen in CASE aanvinken verklaring.



  1. Wat doen aanhalingstekens rond de tabelnaam precies?

  2. Meerdere kolommen tegelijk WIJZIGEN in SQL Server?

  3. Verward over UPDLOCK, HOLDLOCK

  4. Lees en importeer XLSX-bestand (Excel) in Oracle