SQL中声明表变量示例
USE [ShanghaiWeibo] GO /****** Object: StoredProcedure [dbo].[PROC_GetMyRealAttentionByParams] Script Date : 08/09/2012 10:30:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: zhaowei -- Create date: 20120312 -- Description: 检索我的互相关注 -- ============================================= --exec PROC_GetMyRealAttentionByParams 66,0,0,100,'',0 ALTER PROCEDURE [dbo].[PROC_GetMyRealAttentionByParams] ( @memberId int , @memberType int , @pageIndex int , @pageSize int , @keyword nvarchar(50), @groupId int ) AS BEGIN SET NOCOUNT ON ; DECLARE @startRowIndex INT DECLARE @EndRows INT SET @startRowIndex=@PageIndex*@pageSize+1 SET @EndRows=@startRowIndex+@pageSize -- DECLARE @SQL NVARCHAR(1000) DECLARE @TABLE_MEMBER TABLE (toMemberid INT ,toMemberType INT ) INSERT INTO @TABLE_MEMBER SELECT AB.toMemberid, AB.toMemberType FROM AttentionBusiness AB INNER JOIN ( SELECT id,fromMemberId,fromMemberType,toMemberid FROM AttentionBusiness WHERE toMemberid = @memberId and toMemberType=@memberType) CD ON AB.toMemberid = CD.fromMemberId AND AB.toMemberType = CD.fromMemberType WHERE AB.fromMemberId = @memberId and AB.fromMemberType=@memberType ORDER BY AB.toMemberid DECLARE @T_TABLE TABLE ( ID INT , fromMemberId INT , fromMemberType INT , toMemberid INT , toMemberType INT , addDatetime datetime, fromGroupId INT , toMemberFirstChar VARCHAR (100), toMemberName NVARCHAR(100) ) INSERT INTO @T_TABLE SELECT AB.* FROM AttentionBusiness AB INNER JOIN ( SELECT ID,CompanyPetName FROM Member_Info WHERE ID IN ( SELECT toMemberid FROM @TABLE_MEMBER WHERE toMemberType =1) AND CompanyPetName LIKE '%' +@keyword+ '%' ) MI ON MI.ID = AB.toMemberid WHERE AB.fromMemberId = @memberId and AB.fromMemberType=@memberType AND toMemberid IN ( SELECT toMemberid FROM @TABLE_MEMBER WHERE toMemberType =1) AND toMemberType = 1 UNION SELECT AB.* FROM AttentionBusiness AB INNER JOIN ( SELECT ID,MemberPetName FROM MemberBizcenter_Info WHERE ID IN ( SELECT toMemberid FROM @TABLE_MEMBER WHERE toMemberType =0) AND MemberPetName LIKE '%' +@keyword+ '%' ) MI ON MI.ID = AB.toMemberid WHERE AB.fromMemberId = @memberId AND AB.fromMemberType=@memberType AND toMemberid IN ( SELECT toMemberid FROM @TABLE_MEMBER WHERE toMemberType =0) AND toMemberType = 0 SELECT TA.* FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY T.ID) AS SNO, T.* FROM @T_TABLE AS T ) AS TA WHERE TA.SNO>=@startRowIndex AND TA.SNO<@EndRows SELECT COUNT (T.ID) AS RecordCount FROM @T_TABLE AS T END ------------------------------------------------------------------------------------------------- SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: zw -- Create date: 20120809 -- Description: 检索人气排名 -- ============================================= --exec PROC_FansCountTop 10 CREATE PROCEDURE PROC_FansCountTop ( @ top int ) AS BEGIN SET NOCOUNT ON ; declare @t table ( ID int , MemberName nvarchar(100), MemberType varchar (10), TrueName nvarchar(100), fansCount int ) insert into @t select ID,MemberName,MemberType,TrueName, (BeAttentionedCount0+BeAttentionedCount1) as fansCount from MemberBizcenter_Info union select ID,MemberName, '1' as MemberType,TrueName, (BeAttentionedCount0+BeAttentionedCount1) as fansCount from Member_Info select top (@ top ) * from @t order by fansCount desc END GO |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端