LC/Lib/SQL/InitFrame_Resource.sql

113 lines
9.3 KiB
Transact-SQL

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

USE [GTA_FPBT_Resource_V1.1]
GO
/****** Object: Table [dbo].[Resource] Script Date: 05/26/2016 16:20:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Resource](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ResourceName] [nvarchar](50) NULL,
[FileName] [nvarchar](80) NULL,
[FilePath] [nvarchar](200) NULL,
[ImagePath] [nvarchar](200) NULL,
[ChapterId] [int] NULL,
[ConvertStatus] [int] NULL,
[UserId] [int] NULL,
[CreateDate] [datetime] NULL,
CONSTRAINT [PK_Resource] 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]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'资源名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'ResourceName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'上传后文件名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'FileName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文件地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'FilePath'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'图片地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'ImagePath'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'章节Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'ChapterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'转换状态' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'ConvertStatus'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'上传用户Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'UserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Resource', @level2type=N'COLUMN',@level2name=N'CreateDate'
GO
/****** Object: StoredProcedure [dbo].[Proc_CommonPagingStoredProcedure] Script Date: 05/26/2016 16:20:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
---------------------------------------------------
-- desc: 通用分页存储过程
---------------------------------------------------
CREATE PROCEDURE [dbo].[Proc_CommonPagingStoredProcedure]
@Tables nvarchar(1000), --表名,多表请使用 tableA a inner join tableB b On a.AID = b.AID
@PK nvarchar(100), --主键,可以带表头 a.AID
@Sort nvarchar(200) = '', --排序字段
@PageNumber int = 1, --开始页码
@PageSize int = 10, --页大小
@Fields nvarchar(1000) = '*', --读取字段
@Filter nvarchar(1000) = NULL, --Where条件
@isCount bit = 0 , --1 --是否获得总记录数
@Total int output
AS
DECLARE @strFilter nvarchar(2000)
declare @sql Nvarchar(max)
IF @Filter IS NOT NULL AND @Filter != ''
BEGIN
SET @strFilter = ' WHERE 1=1 ' + @Filter + ' '
END
ELSE
BEGIN
SET @strFilter = ' '
END
if @isCount = 1 --获得记录条数
begin
Declare @CountSql Nvarchar(max)
Set @CountSql = 'SELECT @TotalCount= Count(1) FROM ' + @Tables + @strFilter
Execute sp_executesql @CountSql,N'@TotalCount int output',@TotalCount= @Total Output
-- 针对groupby后无数据时@Total会变为null
if @Total is null
begin
set @Total = 0
end
end
if @Sort is null or @Sort = ''''
set @Sort = @PK + ' DESC '
IF @PageNumber < 1
SET @PageNumber = 1
if @PageNumber = 1 --第一页提高性能
begin
set @sql = 'select top ' + str(@PageSize) +' '+@Fields+ ' from ' + @Tables + ' ' + @strFilter + ' ORDER BY '+ @Sort
end
else
begin
DECLARE @START_ID varchar(50)
DECLARE @END_ID varchar(50)
SET @START_ID = convert(varchar(50),(@PageNumber - 1) * @PageSize + 1)
SET @END_ID = convert(varchar(50),@PageNumber * @PageSize)
set @sql = ' SELECT * '+
'FROM (SELECT ROW_NUMBER() OVER(ORDER BY '+@Sort+') AS rownum,
'+@Fields+ '
FROM '+@Tables+ @strFilter +' ) AS D
Where rownum >= '+@START_ID+' AND rownum <=' +@END_ID +' ORDER BY '+substring(@Sort,charindex('.',@Sort)+1,len(@Sort)-charindex('.',@Sort))
END
EXEC(@sql)
GO