贴出我的原创 无限分类C#版 建表脚本

来源:互联网 发布:苹果6usb共享电脑网络 编辑:程序博客网 时间:2024/05/16 14:05

 

无限分类之建表脚本
/*怎么建立数据库就不用我说了吧*/

USE [DawnXZ.com]
GO

/****** Object:  Table [dbo].[content_category]    Script Date: 02/26/2009 16:51:41 ******/
if exists (select * from sysobjects where id = object_id(N'[dbo].[content_category]'and OBJECTPROPERTY(id, N'IsUserTable'= 1)
drop table [dbo].[content_category]

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[content_category](
    
[content_category_Id] [int] NOT NULL,
    
[content_category_Name] [varchar](200NOT NULL,
    
[content_category_Father] [int] NOT NULL,
    
[content_category_Path] [varchar](500NOT NULL,
    
[content_category_Click] [int] NULL,
 
CONSTRAINT [PK_content_category] PRIMARY KEY CLUSTERED 
(
    
[content_category_Id] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description'@value=N'系统编号' , @level0type=N'SCHEMA',@level0name=N'dbo'@level1type=N'TABLE',@level1name=N'content_category'@level2type=N'COLUMN',@level2name=N'content_category_Id'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description'@value=N'类别名称' , @level0type=N'SCHEMA',@level0name=N'dbo'@level1type=N'TABLE',@level1name=N'content_category'@level2type=N'COLUMN',@level2name=N'content_category_Name'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description'@value=N'类别标识' , @level0type=N'SCHEMA',@level0name=N'dbo'@level1type=N'TABLE',@level1name=N'content_category'@level2type=N'COLUMN',@level2name=N'content_category_Father'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description'@value=N'类别路径' , @level0type=N'SCHEMA',@level0name=N'dbo'@level1type=N'TABLE',@level1name=N'content_category'@level2type=N'COLUMN',@level2name=N'content_category_Path'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description'@value=N'点击率' , @level0type=N'SCHEMA',@level0name=N'dbo'@level1type=N'TABLE',@level1name=N'content_category'@level2type=N'COLUMN',@level2name=N'content_category_Click'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description'@value=N'内容类别表' , @level0type=N'SCHEMA',@level0name=N'dbo'@level1type=N'TABLE',@level1name=N'content_category'
GO

ALTER TABLE [dbo].[content_category] ADD  CONSTRAINT [DF_content_category_content_category_Click]  DEFAULT ((0)) FOR [content_category_Click]
GO

 

 

 

 

无限分类之存储过程
USE [DawnXZ.com]
GO

---------------------------------------------------------------------------------
--
--【模板作者:宋杰军】----【联系QQ:6808240】----【创建时间:2009-02-27】----
--
-------------------------------------------------------------------------------

/********************数据表【content_category】添加存储过程********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryInsert]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryInsert]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id  系统编号
@content_category_Name  类别名称 
@content_category_Father  类别标识 
@addFlag  添加标记
*/    
CREATE PROCEDURE [dbo].content_categoryInsert
    
@content_category_Id int output,
    
@content_category_Name varchar(200),
    
@content_category_Father int,
    
@addFlag bit
AS
    
SET NOCOUNT ON    
    
--系统编号        
    DECLARE @objId varchar(10)
    
set @objId=(select max(content_category_Id)+1 from content_category)
    
BEGIN
        
if (SELECT count(-1FROM content_category)=0
            
set @content_category_Id=1
        
else
            
set @content_category_Id=@objId
    
END
    
--类别路径
    DECLARE @content_category_Path varchar(500)
    
BEGIN
        
if @addFlag=1
            
set @content_category_Path=((select content_category_Path from content_category where content_category_Id=@content_category_Father)+CONVERT(varchar(max),@content_category_Id)+',')
        
else
            
set @content_category_Path=('0,'+CONVERT(varchar(max),@content_category_Id)+',')
    
END
    
--开始执行
    insert into content_category
    (
        
[content_category_Id],
        
[content_category_Name],
        
[content_category_Father],
        
[content_category_Path]
    ) 
    
values
    (
        
@content_category_Id,
        
@content_category_Name,
        
@content_category_Father,
        
@content_category_Path
    )
    
return @@error
GO

/********************数据表【content_category】修改存储过程********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryUpdate]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryUpdate]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id  系统编号
@content_category_Name  类别名称 
*/    
CREATE PROCEDURE [dbo].content_categoryUpdate
    
@content_category_Id int,
    
@content_category_Name varchar(200)
AS
    
SET NOCOUNT ON
    
UPDATE [content_category] SET
        
[content_category_Name] = @content_category_Name
    
WHERE
        
[content_category_Id] = @content_category_Id
    
return @@error
GO

/********************更新数据表【content_category】点击率********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryClick]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryClick]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id  系统编号
*/    
CREATE PROCEDURE [dbo].content_categoryClick
    
@content_category_Id int
AS
    
SET NOCOUNT ON
    
UPDATE [content_category] SET
        
[content_category_Click] = [content_category_Click]+1
    
WHERE
        
[content_category_Id] = @content_category_Id
    
return @@error
GO

/********************数据表【content_category】变更存储过程********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryChange]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryChange]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id  系统编号
@content_category_Father  类别标识 
*/    
CREATE PROCEDURE [dbo].content_categoryChange
    
@content_category_Id int,
    
@content_category_Father int
AS
    
SET NOCOUNT ON
     
--类别路径
    DECLARE @content_category_Path varchar(500)
    
BEGIN
        
if @content_category_Father<>-1
            
set @content_category_Path=((select content_category_Path from content_category where content_category_Id=@content_category_Father)+CONVERT(varchar(max),@content_category_Id)+',')
        
else
            
set @content_category_Path=('0,'+CONVERT(varchar(max),@content_category_Id)+',')
    
END
    
--开始执行
    UPDATE [content_category] SET
        
[content_category_Father] = @content_category_Father,
        
[content_category_Path] = @content_category_Path
    
WHERE
        
[content_category_Id] = @content_category_Id
    
return @@error
GO

/********************数据表【content_category】删除存储过程********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryDelete]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryDelete]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id  系统编号
@delFlag        删除标记
*/    
CREATE PROCEDURE [dbo].content_categoryDelete
    
@content_category_Id int,
    
@delFlag bit
AS
    
SET NOCOUNT ON
    
BEGIN
        
IF @delFlag=1            
            
DELETE FROM [content_category] WHERE charindex(','+CONVERT(varchar(max),@content_category_Id)+',',content_category_Path)>0
        
ELSE
            
DELETE FROM [content_category] WHERE [content_category_Id] = @content_category_Id
    
END
    
return @@error
GO

/********************查询数据表【content_category】所有记录********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categorySelectAll]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categorySelectAll]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@sortField 排序字段
*/    
CREATE PROCEDURE [dbo].[content_categorySelectAll]
@sortField varchar(100= ' [content_category_Id] DESC '
AS
    
SET NOCOUNT ON
    
declare @filter varchar(8000)
    
set @filter = 'SELECT * FROM [dbo].[content_category] order by '
    
exec ( @filter + @sortField  )
    
RETURN @@Error
go

/********************查询数据表【content_category】某一条记录********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categorySelect]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categorySelect]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id 
*/    
CREATE PROCEDURE [dbo].[content_categorySelect]
@content_category_Id int
AS
    
SET NOCOUNT ON
    
SELECT * FROM [dbo].[content_category] where [content_category_Id] = @content_category_Id
    
RETURN @@Error
GO

/********************通过指定的条件查询数据表【content_category】记录********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categorySelectByParams]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categorySelectByParams]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@where 查询条件
@sortField 排序字段
*/    
CREATE PROCEDURE [dbo].[content_categorySelectByParams]
@where varchar(8000= ' 1=1 ',
@sortField varchar(100= ' [content_category_Id] DESC '
AS
    
SET NOCOUNT ON
    
declare @filter varchar(8000)
    
set @filter = 'SELECT * FROM [dbo].[content_category]    where '
    
exec ( @filter + @where + ' ORDER BY ' + @sortField )
    
RETURN @@Error
GO

/********************通过指定的条件查询数据表【content_category】记录数********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryCountByWhere]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryCountByWhere]
GO
--参数说明
--
-----------------------------------------------------------
/*

@where 查询条件
@recordCount 记录数
*/    
CREATE PROCEDURE [dbo].[content_categoryCountByWhere]
@where varchar(8000= ' 1=1 ',
@recordCount int output
AS
    
SET NOCOUNT ON
    
declare @sqlCount nvarchar(4000)
    
set @sqlCount= 'SELECT @Count=count(-1) FROM [dbo].[content_category] WHERE ' + @where
    
--print @sqlCount 
    exec sp_executesql @sqlCount,N'@Count int output',@recordCount output  
    
RETURN @@Error
GO

/********************通过指定的条件分页查询数据表【content_category】记录********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categorySelectByPagerParams]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categorySelectByPagerParams]
GO
--参数说明
--
-----------------------------------------------------------
/*

@pageSize 每页显示的数量
@pageIndex ?当前显示第几页
@where 查询条件
@sortField 排序字段
*/    
CREATE PROCEDURE [dbo].[content_categorySelectByPagerParams]
@pageSize int = 10,
@pageIndex int = 1,
@where varchar(8000= ' 1=1 ',
@sortField varchar(100= ' [content_category_Id] DESC '
AS
    
SET NOCOUNT ON
    
declare @filter varchar(8000)    
    
set @filter = '
        SELECT TOP 
' + CONVERT(VARCHAR(8),@pageSize+ ' * FROM [dbo].[content_category]
        where [content_category_Id] not in (SELECT TOP 
' + CONVERT(VARCHAR(8),@pageSize * (@pageIndex - 1)) 
        
+ ' [content_category_Id] FROM [dbo].[content_category]
        WHERE 
' + @where + ' ORDER BY ' + @sortField + ' ) AND ' + @where + ' ORDER BY ' + @sortField
    
--print @filter 
    exec ( @filter )
    
RETURN @@Error
GO

/********************通过系统编号查询数据表【content_category】记录是否存在********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[content_categoryIsExist]'AND OBJECTPROPERTY(id, N'IsProcedure'= 1)
DROP PROCEDURE [dbo].[content_categoryIsExist]
GO
-------------------------------------------------------------
--
参数说明
--
-----------------------------------------------------------
/*

@content_category_Id 
*/    
CREATE PROCEDURE [dbo].[content_categoryIsExist]
@content_category_Id int
AS
    
SET NOCOUNT ON
    
SELECT count(-1FROM [dbo].[content_category]
        
where [content_category_Id] = @content_category_Id
    
RETURN @@Error
GO

 

 

 

以上就是SQL脚本了