Sqlserver用存储过程创建临时表

粘贴一篇自己用的比较少的内容–临时表,第一次使用,小编没什么想解释的,先做个记录

Create Procedure [dbo].[Authority_Admin]
as 
begin
--初始化浏览记录
create table #Tmp --创建临时表#Tmp
(
    ID   int IDENTITY (1,1)     not null, --创建列ID,并且每次新增一条记录就会加1
    cid          int,
	cname        varchar (200),
	username     NVARCHAR(MAX)
    primary key (ID)      --定义ID为临时表#Tmp的主键      
);
insert into #Tmp(cid,cname)
select a.Content_topic_id, b.Content_topic_name + '-' +  a.Content_topic_name  from Ewk_Content_Topic a 
inner join Ewk_Content_Topic b on a.Content_topic_uid = b.Content_topic_id
where a.Content_topic_uid in (750,784,766,986,993,1028,786) order by a.Content_topic_uid asc

Declare @cid int --栏目ID
Declare @username NVARCHAR(MAX)
Declare @Str NVARCHAR(MAX) --用来存放查询语句
Declare @Count int --求出总记录数      
Declare @i int
Set @i = 0 
Select @Count = Count(1) from #Tmp
While @i < @Count 
    Begin	
	   if @i > 0
	   begin
			  select @cid = cid from #Tmp where id = @i

			   SELECT @username = STUFF((SELECT ','+ RealName+'('+Permission+')' FROM Authority a  
			   inner join EwkCms_Admin as b on a.User_id=b.Id 
			   WHERE a.Content_topic_id=@cid
				for xml path('') ),1,1,'') 	  

			  update #Tmp set username = @username where id = @i
	   end
     
      
       Set @i = @i + 1
    End
	select * from #Tmp
drop table #Tmp


end
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值