我有一个带有输入参数的存储过程,现在在这个参数的基础上,我的'order by'语句将改变,如果输入参数是'ID'(int类型列)然后按ID排序,如果是' ProductType'然后按Producttype排序,如果是'IssueDate',那么它应该按issueDate排序。
现在我在我的SP中添加了2 if else语句,但是这个解决方案不可扩展,所以我的问题是有更好的方法。
答案 0 :(得分:4)
如果使用SQL Server,您可以使用案例陈述
order by
case inputparameter
when 'id' then id
when 'productType' then ProductType
else defaultOrderBy
end