sql server 临时表的使用 以及给临时表插入主键列 --某时间段内某组服务器的消费排行 CREATE PROCEDURE biling_order_consume @begin_date datetime, @end_date datetime AS select identity(int,1,1) as ID,charge_credit into #tmp from crm_biling where @begin_date <= convert(datetime,convert(varchar(12),charge_time,101),101) and @end_date >=convert(datetime,convert(varchar(12),charge_time,101),101) order by charge_credit desc select * from #tmp 运行结果 id charge_credit 1 9541 2 564 3 468 4 123 这个第二次运行时提示#tmp已经存在.可以用一下代码删除 drop table #tmp