zoukankan      html  css  js  c++  java
  • 添加类别和修改类别(无限级别分类)

    //添加类别
    CREATE   PROCEDURE DS_AddNewsType
    (
     @NewsTypeName varchar(100),
     @NewsTypeDesc varchar(500),
     @ParentID int,
     
     @MasterID int,
     @ReleaseDate datetime,
     @iLanguage tinyint
    )
    AS
    DECLARE @RecordCount as int
    SET @RecordCount=
    (
     select count(*) from DS_NewsType where NewsTypeName=@NewsTypeName
    )

    DECLARE @NewsTypeLevel as int
    SET @NewsTypeLevel=
    (
     select NewsTypeLevel from DS_NewsType where NewsTypeID=@ParentID
    )
    if @NewsTypeLevel is null
     begin
      set @NewsTypeLevel=0
     end

    if @RecordCount<=0 begin
     INSERT INTO
      DS_NewsType
      (
       NewsTypeName,
       NewsTypeDesc,
       ParentID,
       NewsTypeLevel,
       IDTree,
       
       MasterID,
       AddDate,
       ReleaseDate,
       iLanguage
      )
      VALUES
      (
       @NewsTypeName,
       @NewsTypeDesc,
       @ParentID,
       @NewsTypeLevel+1,
       '.',
       
       @MasterID,
       GetDate(),
       @ReleaseDate,
       @iLanguage
      )

     DECLARE @IDTree as varchar(100)
     SET @IDTree=
     (
      select IDTree from DS_NewsType where NewsTypeID=@ParentID
     )

     if @IDTree is null
      begin
       Update
          DS_NewsType
       Set
          IDTree = ltrim(str(@@Identity))+'.'
       WHERE
          NewsTypeID = @@Identity
      end
     else
      begin
       Update
          DS_NewsType
       Set
          IDTree = @IDTree+ltrim(str(@@Identity))+'.'
       WHERE
          NewsTypeID = @@Identity
      end

     Update
        DS_NewsType
     Set
        IsLeaf = 0
     WHERE
        NewsTypeID = @ParentID
     
    end
        
    RETURN @@Identity
    GO

    //修改类别

    CREATE    PROCEDURE DS_EditNewsType
    (
     @NewsTypeID int,
     @NewsTypeName varchar(100),
     @NewsTypeDesc varchar(500),
     @ParentID int,
     
     @MasterID int,
     @ReleaseDate datetime,
     @iLanguage tinyint
    )
    AS
    DECLARE @RecordCount as int
    SET @RecordCount=
    (
     select count(*) from DS_NewsType where NewsTypeName=@NewsTypeName and NewsTypeID!=@NewsTypeID
    )

    DECLARE @NewsTypeLevel as int
    SET @NewsTypeLevel=
    (
     select NewsTypeLevel from DS_NewsType where NewsTypeID=@ParentID
    )
    if @NewsTypeLevel is null
     begin
      set @NewsTypeLevel=0
     end

    if @RecordCount<=0 begin
     Update
        DS_NewsType
     Set
        NewsTypeName = @NewsTypeName,
        NewsTypeDesc = @NewsTypeDesc,
        ParentID = @ParentID,
        NewsTypeLevel = @NewsTypeLevel+1,
        
        MasterID = @MasterID,
        ReleaseDate = @ReleaseDate,
        iLanguage = @iLanguage
     WHERE
        NewsTypeID = @NewsTypeID
        
     DECLARE @IDTree as varchar(100)
     SET @IDTree=
     (
      select IDTree from DS_NewsType where NewsTypeID=@ParentID
     )

     if @IDTree is null
      begin
       Update
          DS_NewsType
       Set
          IDTree = ltrim(str(@NewsTypeID))+'.'
       WHERE
          NewsTypeID = @NewsTypeID
      end
     else
      begin
       Update
          DS_NewsType
       Set
          IDTree =convert(nvarchar(100),@ParentID)+'.'+ltrim(str(@NewsTypeID))+'.'
       WHERE
          NewsTypeID = @NewsTypeID
      end

     Update
        DS_NewsType
     Set
        IsLeaf = 0
     WHERE
        NewsTypeID = @ParentID
    end

    RETURN

    GO


     

  • 相关阅读:
    IDEA安装及破解永久版教程————鹏鹏
    Hive(2)-Hive的安装,使用Mysql替换derby,以及一丢丢基本的HQL
    Hive(1)-基本概念
    ZooKeeper(3)-内部原理
    Hadoop(25)-高可用集群配置,HDFS-HA和YARN-HA
    ZooKeeper(2)-安装和配置
    ZooKeeper(1)-入门
    Hadoop(24)-Hadoop优化
    Hadoop(23)-Yarn资源调度器
    Hadoop(22)-Hadoop数据压缩
  • 原文地址:https://www.cnblogs.com/zyosingan/p/1015350.html
Copyright © 2011-2022 走看看