zoukankan      html  css  js  c++  java
  • 自己写的临时表应用

     #region Query
            /// <summary>
            /// 获取记录
            /// </summary>
            public static List<PermissionLogView> GetList(int managerId)
            {
                string sql = @"DECLARE @temp table
    (
      id int identity(1,1),
      PermissionID nvarchar(200)
    )
    declare @pid nvarchar(200)
    declare @n        int
    declare @rows     int
    select @n=1
    insert @temp(PermissionID) select  DISTINCT PermissionID  from [PermissionLog] WHERE PermissionType=0 AND ManagerID={0}
    select @rows = @@rowcount
    while @n <= @rows
    begin
    select @pid = PermissionID
    from PermissionLog
         where PermissionID=(select PermissionID from @temp where id = @n)
         DECLARE @tempTable TABLE
                    (
                    [ID] INT,
                    [FullName] varchar(100)
                    )
                    DECLARE @ID INT
                    DECLARE @OldID INT
                    DECLARE @FullName NVARCHAR(50)
                    DECLARE @OldFullName NVARCHAR(50)
                    DECLARE @i INT
                    SET @ID=@pid
                    SET @OldID=@ID

                    SET @OldFullName=''
                    SET @i=0
                    WHILE(@ID>0)
                    BEGIN
                         if(@ID>0)
                            begin
                          select @FullName=Name from channel where ID=@ID;
                          IF(@i=0)
                            BEGIN
                             SET @OldFullName=(@FullName);
                            END
                         ELSE
                           BEGIN
                             SET @OldFullName=(@FullName+'->'+@OldFullName);
                           END
                          SET @i=@i+1;
                        SELECT @ID=ParentId from Channel where ID=@ID;
                            END
                    END
                     INSERT into @tempTable VALUES(@OldID,@OldFullName);
              select @n = @n + 1
            END ";
                sql += @"SELECT um.ManagerName,mc.FullName,plog.* FROM [PermissionLog] plog WITH(NOLOCK)
                               JOIN UnionManager um WITH(NOLOCK) ON plog.ManagerID = um.ID
                               JOIN MediumCategory mc WITH(NOLOCK) ON mc.ID=plog.PermissionID
                               WHERE ManagerId={0}
                               UNION
                               SELECT um.ManagerName ,mc.FullName+'->'+m.Name AS FullName,plog.* FROM [PermissionLog] plog WITH(NOLOCK)
                               JOIN UnionManager um WITH(NOLOCK) ON plog.ManagerID = um.ID
                               JOIN Medium m WITH(NOLOCK) ON m.ID=plog.PermissionID
                               JOIN dbo.MediumCategory mc ON mc.ID=m.CategoryID
                              WHERE ManagerId={0}";
                sql +=
                    @" UNION
                    SELECT um.ManagerName,FullName,plog.* FROM [PermissionLog] plog
                    JOIN UnionManager um WITH(NOLOCK) ON plog.ManagerID = um.ID
                    JOIN @tempTable temp ON plog.PermissionID=temp.ID";
                sql += " WHERE ManagerId={0} ORDER BY plog.OperateTime desc ";
                var dbHelper = new DbHelperSQL(ConnectionString.Vancl_Union);
                return DataTableToList(dbHelper.GetDataTable(string.Format(sql, managerId)));
            }

  • 相关阅读:
    【Vue】Re19 Promise
    【Vue】Re17 Router 第四部分(参数传递,守卫函数)
    【Vue】Re16 Router 第三部分(懒加载、子路由)
    【Vue】Re15 Router 第二部分(缺省路由、动态路由)
    【Vue】Re14 Router 第一部分(入门案例)
    【Vue】Re13 CLI(Command Line Interface)
    【Vue】Re12 Webpack 第三部分(插件、热部署、配置分离)
    【Vue】Re11 Vue 与 Webpack
    【Vue】Re10 Webpack 第二部分(Loader)
    11-26日测试
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2457380.html
Copyright © 2011-2022 走看看