例如我有这样的一个存储过程
ALTER PROCEDURE [dbo].[P_test]
@tag int,
@startdate datetime,
@enddate datetime
as
declare @order varchar(300)
if(@tag=0)
set @order=' order by tag desc'
if(@tag=1)
set @order=' order by id desc'select * from dict where date between @startdate and @enddate 问:怎么讲@order 参数写到select语句后面
ALTER PROCEDURE [dbo].[P_test]
@tag int,
@startdate datetime,
@enddate datetime
as
declare @order varchar(300)
if(@tag=0)
set @order=' order by tag desc'
if(@tag=1)
set @order=' order by id desc'select * from dict where date between @startdate and @enddate 问:怎么讲@order 参数写到select语句后面
ALTER PROCEDURE [dbo].[P_test]
@tag int,
@startdate datetime,
@enddate datetime
as
declare @order varchar(300)
-- if(@tag=0)
-- set @order=' order by tag desc'
-- if(@tag=1)
-- set @order=' order by id desc' select * from dict where date between @startdate and @enddate
order by case when @tag=0 then tag else id end desc
ALTER PROCEDURE [dbo].[P_test]
@tag int,
@startdate datetime,
@enddate datetime
as
declare @order varchar(300)
if(@tag=0)
set @order=' order by tag desc'
if(@tag=1)
set @order=' order by id desc' exec('select * from dict where date between '+@startdate+' and '+@enddate+ @order)
@tag int,
@startdate datetime,
@enddate datetime
as
declare @order varchar(300)
if(@tag=0)
set @order=' order by tag desc'
if(@tag=1)
set @order=' order by id desc'
exec('select * from dict where date between '''+@startdate+''' and '''+@enddate +''''+@order)