zoukankan      html  css  js  c++  java
  • SQL 存储过程 :根据ID获取不包含自身和子项的项目

    USE [PrettyCloud]
    GO
    /****** Object:  StoredProcedure [dbo].[GetParentLevel]    Script Date: 04/20/2018 14:30:13 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    /**
    功能:根据ID获取不包含自身和子项的项目
    **/
    ALTER Procedure [dbo].[GetParentLevel]
        @TableName    varchar(50)='',  --表名
        @Id            varchar(50)='',      --ID
        @Tj            varchar(50)='',   --关键字
        @Sx         varchar(50)=''      --条件
    as
    begin
        declare @mainSql  varchar(max)
        if @Id is null
        begin
            set @Id=''
        end
        set @mainSql='With org '    
        set @mainSql=@mainSql+' as '    
        set @mainSql=@mainSql+'('    
        set @mainSql=@mainSql+' select * from '+@TableName+' where Id='''+@Id+''''
        set @mainSql=@mainSql+' Union all '
        set @mainSql=@mainSql+' select '+@TableName+'.* from org '    
        set @mainSql=@mainSql+' join '+@TableName
        set @mainSql=@mainSql+' on org.Id='+@TableName+'.ParentId '
        set @mainSql=@mainSql+')'    
        
        set @mainSql=@mainSql+' select * from '+@TableName+' o '
        set @mainSql=@mainSql+' where o.DeleteMark is null and not exists  '    
        set @mainSql=@mainSql+'('    
        set @mainSql=@mainSql+'select id from org where Id=o.Id'
        set @mainSql=@mainSql+') order by '+@Tj+' '+@Sx+' '    
        print @mainSql
        execute (@mainSql)
    end
  • 相关阅读:
    python基础
    HTTP长连接和短连接及应用情景
    HTTP和HTTPS的区别
    python---重建二叉树
    python---替换空格
    python---二维数组的查找
    python---从尾到头打印链表
    python---反转链表
    python---两个栈实现一个队列
    python---二分查找的实现
  • 原文地址:https://www.cnblogs.com/moxiaomai/p/8890778.html
Copyright © 2011-2022 走看看