数据库的表结构脚本及其储存过程的脚本如下:
/****** Object: Table [dbo].[UserInfo] Script Date: 11/02/2013 14:07:50 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[UserInfo]( [UserId] [bigint] IDENTITY(1000,1) NOT NULL, [UserPwd] [nvarchar](30) NOT NULL, [LoginName] [nvarchar](30) NOT NULL, [RegisterTime] [datetime] NOT NULL, CONSTRAINT [PK_UsersInfo_1] PRIMARY KEY CLUSTERED ( [UserId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET IDENTITY_INSERT [dbo].[UserInfo] ON INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (100, N'gjlkif', N'stone', CAST(0x0000A0A700000000 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1002, N'gjlkif', N'sadf1', CAST(0x0000A0BF011E1C9B AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1004, N'gjlkif', N'dsfa1', CAST(0x0000A0C10139E569 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1005, N'gjlkif', N'dsfa2', CAST(0x0000A0C10139EDE3 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1006, N'gjlkif', N'dsfa3', CAST(0x0000A0C1013BF4A5 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1007, N'gjlkif', N'dsfa4', CAST(0x0000A0C1013CDF88 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1008, N'9<>=;8', N'Ds', CAST(0x0000A0C1013E1486 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1010, N'9<>=;8', N'sadf5', CAST(0x0000A0C10141A748 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1011, N'9<>=;8', N'dsaf6', CAST(0x0000A0C10142C3F9 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1013, N'gjlkif', N'dsf', CAST(0x0000A0C101551727 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1015, N'gjl', N'sdaf2', CAST(0x0000A11F00EF0786 AS DateTime)) INSERT [dbo].[UserInfo] ([UserId], [UserPwd], [LoginName], [RegisterTime]) VALUES (1017, N'9<>=;8', N'a一bc二d三四五六七', CAST(0x00009461000F6CD1 AS DateTime)) SET IDENTITY_INSERT [dbo].[UserInfo] OFF /****** Object: Table [dbo].[Article] Script Date: 11/02/2013 14:07:50 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Article]( [ArticleId] [bigint] IDENTITY(1,1) NOT NULL, [Title] [nvarchar](200) NOT NULL, [CreatedTime] [datetime] NOT NULL, [ModifiedTime] [datetime] NULL, [Clicks] [int] NOT NULL, [UserId] [bigint] NOT NULL, CONSTRAINT [PK_Article] PRIMARY KEY NONCLUSTERED ( [ArticleId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET IDENTITY_INSERT [dbo].[Article] ON INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (105, N'1111111111', CAST(0x0000A24B00110D3C AS DateTime), CAST(0x0000A24B00110D3C AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (104, N'断食法1', CAST(0x0000A24A0185F358 AS DateTime), CAST(0x0000A24B0014AB04 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (102, N'dddddddd111111113rrrrrrrrrdccccccccccccccc', CAST(0x0000A22C01359BC4 AS DateTime), CAST(0x0000A24E00E6B7AC AS DateTime), 4, 1011) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (101, N'dsdfas', CAST(0x0000A22C0130AED4 AS DateTime), CAST(0x0000A24A01820964 AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (100, N'd', CAST(0x0000A22C01303044 AS DateTime), CAST(0x0000A22C01303044 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (99, N'd', CAST(0x0000A22C012F7398 AS DateTime), CAST(0x0000A22C012F7398 AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (98, N'sdsa', CAST(0x0000A22C012DA388 AS DateTime), CAST(0x0000A22C012DA388 AS DateTime), 4, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (97, N'ddddddddd', CAST(0x0000A22C01271310 AS DateTime), CAST(0x0000A22C01271310 AS DateTime), 4, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (96, N'dddddsd', CAST(0x0000A22C0126CCC0 AS DateTime), CAST(0x0000A22C0126CCC0 AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (95, N'ddddd', CAST(0x0000A22C012593DC AS DateTime), CAST(0x0000A22C012593DC AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (94, N'ddddddd', CAST(0x0000A22C01253D24 AS DateTime), CAST(0x0000A22C01253D24 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (93, N'ddddddddd', CAST(0x0000A22C012208D4 AS DateTime), CAST(0x0000A22C012208D4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (92, N'dddddddd', CAST(0x0000A22C01219AAC AS DateTime), CAST(0x0000A22C01219AAC AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (91, N'dddddddd', CAST(0x0000A22C012127D4 AS DateTime), CAST(0x0000A22C012127D4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (90, N'dsdf', CAST(0x0000A22C01105788 AS DateTime), CAST(0x0000A22C01105788 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (89, N'dddddddddddddddd', CAST(0x0000A22C010E75E4 AS DateTime), CAST(0x0000A22C010E75E4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (88, N'dddddddddddddddd', CAST(0x0000A22C010DB104 AS DateTime), CAST(0x0000A22C010DB104 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (87, N'd', CAST(0x0000A22C010403AC AS DateTime), CAST(0x0000A22C010403AC AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (85, N'ddddd', CAST(0x0000A22C01030C68 AS DateTime), CAST(0x0000A22C01030C68 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (84, N'd', CAST(0x0000A22C0102672C AS DateTime), CAST(0x0000A22C0102672C AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (83, N'd', CAST(0x0000A22C01023AA4 AS DateTime), CAST(0x0000A22C01023AA4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (82, N'dd', CAST(0x0000A22C01018758 AS DateTime), CAST(0x0000A22C01018758 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (81, N'dddddddd', CAST(0x0000A22C01016C64 AS DateTime), CAST(0x0000A22C01016C64 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (80, N'dsd', CAST(0x0000A22C01013A00 AS DateTime), CAST(0x0000A22C01013A00 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (79, N'333', CAST(0x0000A22C0100F608 AS DateTime), CAST(0x0000A22C0100F608 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (78, N'dd', CAST(0x0000A22C010005CC AS DateTime), CAST(0x0000A22C010005CC AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (77, N'd', CAST(0x0000A22C00FFC0A8 AS DateTime), CAST(0x0000A22C00FFC0A8 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (76, N'd', CAST(0x0000A22C00FEBDAC AS DateTime), CAST(0x0000A22C00FEBDAC AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (75, N'd', CAST(0x0000A22C00FE66F4 AS DateTime), CAST(0x0000A22C00FE66F4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (74, N'd', CAST(0x0000A22C00FE1BF4 AS DateTime), CAST(0x0000A22C00FE1BF4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (73, N'd', CAST(0x0000A22C00FDC53C AS DateTime), CAST(0x0000A22C00FDC53C AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (72, N'ddddddddd', CAST(0x0000A22C00FD62CC AS DateTime), CAST(0x0000A22C00FD62CC AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (71, N'ddddddddd1', CAST(0x0000A22C00FBE5F0 AS DateTime), CAST(0x0000A22C00FBE5F0 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (70, N'dddddddd', CAST(0x0000A22C00F9D440 AS DateTime), CAST(0x0000A22C00F9D440 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (69, N'111111111', CAST(0x0000A22C00F6BF94 AS DateTime), CAST(0x0000A22C00F6BF94 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (68, N'dddddd', CAST(0x0000A22C00F2F418 AS DateTime), CAST(0x0000A22C00F2F418 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (67, N'ddddd', CAST(0x0000A22C00F15540 AS DateTime), CAST(0x0000A22C00F15540 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (66, N'dddddddddd2222', CAST(0x0000A22C00EF44BC AS DateTime), CAST(0x0000A22C00EF44BC AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (65, N'drrr', CAST(0x0000A22C00EEB81C AS DateTime), CAST(0x0000A22C00EEB81C AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (63, N'dddddddddddddd1', CAST(0x0000A22B012BB62C AS DateTime), CAST(0x0000A22B012BB62C AS DateTime), 0, 1010) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (62, N'dddddddddd', CAST(0x0000A22B0122A384 AS DateTime), CAST(0x0000A22B0122A384 AS DateTime), 0, 1010) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (61, N'sad', CAST(0x0000A22B0121D544 AS DateTime), CAST(0x0000A22B0121D544 AS DateTime), 0, 1010) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (59, N'2222222222222', CAST(0x0000A212009E7474 AS DateTime), CAST(0x0000A212009E7474 AS DateTime), 1, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (58, N'2222222222222', CAST(0x0000A212009E4EF4 AS DateTime), CAST(0x0000A212009E4EF4 AS DateTime), 1, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (57, N'11111111111111111', CAST(0x0000A212009E352C AS DateTime), CAST(0x0000A212009E352C AS DateTime), 3, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (56, N'aaaaaaaaaaaaa', CAST(0x0000A212009D335C AS DateTime), CAST(0x0000A212009D335C AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (55, N'aaaaaaaaaaaa', CAST(0x0000A20B00E74DAC AS DateTime), CAST(0x0000A20B00E74DAC AS DateTime), 39, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (52, N'111111111asdfasd23sdfas', CAST(0x0000A10B011584EC AS DateTime), CAST(0x0000A24901340AFC AS DateTime), 254, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (51, N'ssssdf', CAST(0x0000A0FB010C02AE AS DateTime), CAST(0x0000A0F7010C02AE AS DateTime), 12, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (49, N'asdfdsa', CAST(0x0000A0F9009E8E82 AS DateTime), CAST(0x0000A0F5009EFED8 AS DateTime), 4, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (48, N'dasfsadf', CAST(0x0000A0F8009DBF16 AS DateTime), CAST(0x0000A0F5009DBF16 AS DateTime), 1, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (47, N'aaaaa', CAST(0x0000A0F5009C0BE7 AS DateTime), CAST(0x0000A0F5009CC0FE AS DateTime), 3, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (45, N'sdfsdaf', CAST(0x0000A0F3011069CE AS DateTime), CAST(0x0000A0F301156201 AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (44, N'33333333333333', CAST(0x0000A0F3010B8AD2 AS DateTime), CAST(0x0000A0F3010B8AD2 AS DateTime), 35, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (43, N'asdfasd', CAST(0x0000A0F301007C44 AS DateTime), CAST(0x0000A0F301007C44 AS DateTime), 1, 1008) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (42, N'222222222222', CAST(0x0000A0F300FE61C1 AS DateTime), CAST(0x0000A0F300FE61C1 AS DateTime), 1, 1010) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (41, N'asdf', CAST(0x0000A0F300D4CDFF AS DateTime), CAST(0x0000A0F300D4CDFF AS DateTime), 1, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (32, N'sdfa111111111111', CAST(0x0000A0F10118C2D9 AS DateTime), CAST(0x0000A0F101846C46 AS DateTime), 2, 1008) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (9, N'房地产qweeeeeeeeeeeeeeee1111111111111111111111111112eeeeeeqweq', CAST(0x0000A0E401370087 AS DateTime), CAST(0x0000A0E401370087 AS DateTime), 99, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (8, N'财经文章标题测试', CAST(0x0000A0E3010A6175 AS DateTime), CAST(0x0000A0F800A743A7 AS DateTime), 15, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (109, N'dsaf32qrwsdfadf的说法是否撒旦法阿萨德倒萨dddddddddddddddddsafd', CAST(0x000094E001501A94 AS DateTime), CAST(0x000094E001501A94 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (108, N'dddddddddddddddd大师傅阿斯sdddddd发生d地方ads佛挡杀佛ddddd', CAST(0x000094E0012D0428 AS DateTime), CAST(0x000094E0014F48D0 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (46, N'sadfsda', CAST(0x00009486001A7AB6 AS DateTime), CAST(0x00009486001BB532 AS DateTime), 6, 1008) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (21, N'sadf', CAST(0x0000948300723575 AS DateTime), CAST(0x0000948300723575 AS DateTime), 1, 1005) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (20, N'sdfazzz', CAST(0x0000948300721540 AS DateTime), CAST(0x0000A0F1018543E6 AS DateTime), 3, 1006) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (107, N'dddddd1222222222', CAST(0x0000946100122FDC AS DateTime), CAST(0x0000946100122FDC AS DateTime), 0, 1017) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (106, N'dddddddddddddsa', CAST(0x0000946100101BD4 AS DateTime), CAST(0x0000A25B00101BD4 AS DateTime), 0, 1017) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (54, N'我的测试文章', CAST(0x00009461000418D4 AS DateTime), CAST(0x000094610004D1FC AS DateTime), 2, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (103, N'sssssssssssss111', CAST(0x000093FA00AB8754 AS DateTime), CAST(0x0000940500B22CE4 AS DateTime), 1000, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (64, N'dddddddddddd', CAST(0x000093E700E296A4 AS DateTime), CAST(0x0000A22C00E296A4 AS DateTime), 0, 100) INSERT [dbo].[Article] ([ArticleId], [Title], [CreatedTime], [ModifiedTime], [Clicks], [UserId]) VALUES (60, N'sdddddddddd', CAST(0x000093CD009E9670 AS DateTime), CAST(0x0000A212009E9670 AS DateTime), 3, 100) SET IDENTITY_INSERT [dbo].[Article] OFF /****** Object: Table [dbo].[ArticleComment] Script Date: 11/02/2013 14:07:50 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[ArticleComment]( [Id] [bigint] IDENTITY(1,1) NOT NULL, [CommentDate] [datetime] NOT NULL, [CommentContent] [ntext] NULL, [ArticleId] [bigint] NOT NULL, [UserId] [bigint] NOT NULL, [ParentId] [int] NOT NULL, CONSTRAINT [PK_ArticleComments] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO SET IDENTITY_INSERT [dbo].[ArticleComment] ON INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (2, CAST(0x00009DC500C91AD0 AS DateTime), N'13121', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (3, CAST(0x0000912B00C91AD0 AS DateTime), NULL, 52, 100, -1) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (4, CAST(0x0000A1130114C27E AS DateTime), NULL, 51, 100, -1) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (7, CAST(0x0000A11500CDD691 AS DateTime), N'1231231', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (8, CAST(0x0000A11500CE6E16 AS DateTime), N'asdfad', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (9, CAST(0x0000A11500CE78DA AS DateTime), N'asdfadasdfasd', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (10, CAST(0x0000A11500CED17E AS DateTime), N'asdfads', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (11, CAST(0x0000A11500CEDA8F AS DateTime), N'asdfads1231231', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (12, CAST(0x0000A24201450890 AS DateTime), N'qqqqqqqqqqqqqqqq', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (13, CAST(0x0000A117014585D8 AS DateTime), N'2222222222222', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (14, CAST(0x0000A117015826BD AS DateTime), NULL, 60, 100, -1) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (15, CAST(0x0000A1170158A756 AS DateTime), N'3333333333333333333333', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (16, CAST(0x0000A11800018613 AS DateTime), N'fadsfaf', 60, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (17, CAST(0x0000A1180001FF94 AS DateTime), NULL, 20, 100, -1) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (18, CAST(0x0000A136000B2424 AS DateTime), N'1453ddfad', 20, 1002, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (19, CAST(0x0000A118000F091C AS DateTime), N'ddddddddddddddddd', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (20, CAST(0x0000A118000FCD19 AS DateTime), N'ffffffffffff', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (21, CAST(0x0000A118000FE7CA AS DateTime), N'hhhhhhhhhhhhhhhhhhhhhh', 103, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (22, CAST(0x0000A11800107AE4 AS DateTime), N'hhhhhhhhhhhhhhhhhhhhhh6666666666666', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (23, CAST(0x0000A11800111DFC AS DateTime), N'ttttttttttttttttttt', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (24, CAST(0x0000A11800112D93 AS DateTime), N'gggggggggggggggggg', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (25, CAST(0x000094610002E104 AS DateTime), N'不错哦', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (26, CAST(0x000094610004F62F AS DateTime), NULL, 54, 100, -1) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (27, CAST(0x00009461003B48BB AS DateTime), N'asdfasd', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (28, CAST(0x00009461003C9DD2 AS DateTime), N'ewwwwwwwwwwwwwwwwwwww', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (29, CAST(0x0000A118011ED398 AS DateTime), N'333333333333333333', 52, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (30, CAST(0x0000A16B00B5B442 AS DateTime), N'dddddddddddddddddddd', 103, 100, 0) INSERT [dbo].[ArticleComment] ([Id], [CommentDate], [CommentContent], [ArticleId], [UserId], [ParentId]) VALUES (31, CAST(0x0000A0D200B5D651 AS DateTime), NULL, 103, 100, -1) SET IDENTITY_INSERT [dbo].[ArticleComment] OFF /****** Object: Default [DF_ArticleBlog_Clicks] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[Article] ADD CONSTRAINT [DF_ArticleBlog_Clicks] DEFAULT ((0)) FOR [Clicks] GO /****** Object: Default [DF_ArticleComment_CommentDate] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[ArticleComment] ADD CONSTRAINT [DF_ArticleComment_CommentDate] DEFAULT (getdate()) FOR [CommentDate] GO /****** Object: Default [DF_ArticleComment_ParentId] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[ArticleComment] ADD CONSTRAINT [DF_ArticleComment_ParentId] DEFAULT ((0)) FOR [ParentId] GO /****** Object: Default [DF_UserInfo_RegisterTime] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[UserInfo] ADD CONSTRAINT [DF_UserInfo_RegisterTime] DEFAULT (getdate()) FOR [RegisterTime] GO /****** Object: ForeignKey [FK_Article_UserInfo] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[Article] WITH CHECK ADD CONSTRAINT [FK_Article_UserInfo] FOREIGN KEY([UserId]) REFERENCES [dbo].[UserInfo] ([UserId]) GO ALTER TABLE [dbo].[Article] CHECK CONSTRAINT [FK_Article_UserInfo] GO /****** Object: ForeignKey [FK_ArticleComment_Article] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[ArticleComment] WITH CHECK ADD CONSTRAINT [FK_ArticleComment_Article] FOREIGN KEY([ArticleId]) REFERENCES [dbo].[Article] ([ArticleId]) GO ALTER TABLE [dbo].[ArticleComment] CHECK CONSTRAINT [FK_ArticleComment_Article] GO /****** Object: ForeignKey [FK_ArticleComments_UsersInfo] Script Date: 11/02/2013 14:07:50 ******/ ALTER TABLE [dbo].[ArticleComment] WITH CHECK ADD CONSTRAINT [FK_ArticleComments_UsersInfo] FOREIGN KEY([UserId]) REFERENCES [dbo].[UserInfo] ([UserId]) GO ALTER TABLE [dbo].[ArticleComment] CHECK CONSTRAINT [FK_ArticleComments_UsersInfo] GO /****** Object: StoredProcedure [dbo].[usp_GetArticleEntityPagerData] Script Date: 11/02/2013 14:07:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= CREATE PROCEDURE [dbo].[usp_GetArticleEntityPagerData] -- Add the parameters for the stored procedure here @strOrder nvarchar(255)='', -- 排序的字段名,必填 @strOrderType nvarchar(10)='ASC', -- 排序的方式,默认ASC @pageSize int = 10, -- 页尺寸,默认10 @pageIndex int = 1 -- 页码,默认1 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- -- Insert statements for procedure here declare @strSQL nvarchar(4000)='' set @strSQL='select * from (select ArticleId,Title,Clicks,AutorId,AutorName,CONVERT(NVARCHAR(16),CreatedTime,120) AS CreatedTime,CONVERT(NVARCHAR(16),ModifiedTime,120) AS ModifiedTime,CONVERT(NVARCHAR(16),CommentDate,120) AS CommentDate,CommentatorName,CommentCount ' +'from (SELECT ROW_NUMBER() OVER (ORDER BY CommentDate DESC) AS RowNumber, A.ArticleId ArticleId, A.Title Title, A.Clicks Clicks, U.UserId AutorId,' +'U.LoginName AutorName, A.CreatedTime CreatedTime, A.ModifiedTime ModifiedTime, AC.CommentDate CommentDate, UI.LoginName CommentatorName, CommentCount FROM Article A ' +'JOIN (SELECT ArticleId, UserId AS CommentatorId, CommentDate, ParentId FROM (SELECT ROW_NUMBER() OVER (PARTITION BY ArticleId ORDER BY CommentDate DESC) AS rowNumber, * FROM ArticleComment) T ' +'WHERE T.rowNumber = 1) AC ON A.ArticleId = AC.ArticleId ' +'JOIN UserInfo U ON A.UserId = U.UserId ' +'JOIN UserInfo UI ON AC.CommentatorId = UI.UserId ' +'JOIN (SELECT ArticleId, COUNT(Id)-1 AS CommentCount FROM ArticleComment ' +'GROUP BY ArticleId HAVING COUNT(ArticleId) >= 1) LastComment ON LastComment.ArticleId=A.ArticleId) ArticleLastComment ' +'where RowNumber between '+str((@pageIndex-1)*@pageSize+1)+' and '+str(@pageIndex*@pageSize)+') CurrentPager order by '+@strOrder+' '+@strOrderType+'' exec sp_executesql @strSQL END GO exec usp_GetArticleEntityPagerData 'Clicks','asc',6,1 exec usp_GetArticleEntityPagerData 'Clicks','desc',3,1 exec usp_GetArticleEntityPagerData 'CommentCount','asc',3,1 exec usp_GetArticleEntityPagerData 'CommentCount','desc',3,1 exec usp_GetArticleEntityPagerData 'CreatedTime','asc',3,1 exec usp_GetArticleEntityPagerData 'CreatedTime','desc',3,1 exec usp_GetArticleEntityPagerData 'ModifiedTime','asc',3,1 exec usp_GetArticleEntityPagerData 'ModifiedTime','desc',3,1 exec usp_GetArticleEntityPagerData 'CommentDate','asc',3,1 exec usp_GetArticleEntityPagerData 'CommentDate','desc',3,1
上面的储存过程的执行结果如下:
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
54 我的测试文章 2 100 stone 2004-01-01 00:142004-01-01 00:17 2004-01-01 00:18 stone 0
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:552012-10-21 23:37 2012-12-29 00:40 sadf1 1
60 sdddddddddd 3 100 stone 2003-08-06 09:372013-08-06 09:37 2012-11-29 00:05 stone 1
51 ssssdf   ; 12 100 stone 2012-10-31 16:152012-10-27 16:15 2012-11-24 16:47 stone 0
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
103 sssssssssssss111 1000 100 stone 2003-09-20 10:24 2003-10-0110:48 2013-02-20 11:01 stone 2
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
103 sssssssssssss111 1000 100 stone 2003-09-20 10:24 2003-10-01 10:48 2013-02-20 11:01 stone 2
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:552012-10-21 23:37 2012-12-29 00:40 sadf1 1
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:55 2012-10-2123:37 2012-12-29 00:40 sadf1 1
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:552012-10-21 23:37 2012-12-29 00:40 sadf1 1
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:552012-10-21 23:37 2012-12-29 00:40 sadf1 1
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:55 2012-10-21 23:37 2012-12-29 00:40 sadf1 1
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:55 2012-10-2123:37 2012-12-29 00:40 sadf1 1
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------------------------------------- ------------
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:502013-09-30 18:41 2013-09-23 19:43 stone 18
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:552012-10-21 23:37 2012-12-29 00:40 sadf1 1
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
ArticleId Title Clicks AutorId AutorName CreatedTime ModifiedTime CommentDate CommentatorName CommentCount
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------------------------------- ---------------- ---------------- ------------------------------------------
20 sdfazzz 3 1006 dsfa3 2004-02-04 06:552012-10-21 23:37 2012-12-29 00:40 sadf1 1
103 sssssssssssss111 1000 100 stone 2003-09-20 10:242003-10-01 10:48 2013-02-20 11:01 stone 2
52 111111111asdfasd23sdfas 254 100 stone 2012-11-16 16:50 2013-09-30 18:41 2013-09-2319:43 stone 18