Sort by column is sent as an input to the stored procedure and the sort by field can be different during different web service calls.
Sorting based on different fields at runtime does not need you to generate SQL statements with sort field appended and then execute them dynamically. It can be done as follows:
use mydb
go
set ansi_nulls on
go
set quoted_identifier off
go
create procedure dbo.get_account_info
(@sort_by_column varchar(255))
as
begin
set nocount on
select account_id, name_id, address_id, start_date, end_date, first_name, middle_name, last_name
from dbo.accounts
where status = 'A'
order by
(case @sort_by_column
when 'last_name' then m.last_name
when 'first_name' then first_name
when 'account_id' then account_id
when 'end_date' then end_date
when 'start_date' then start_date
else account_id
end)
end
Hope this helps.
No comments:
Post a Comment