Advertisement
Guest User

Untitled

a guest
Nov 16th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.99 KB | None | 0 0
  1. /*    ==Scripting Parameters==
  2.  
  3.     Source Server Version : SQL Server 2016 (13.0.1742)
  4.     Source Database Engine Edition : Microsoft SQL Server Enterprise Edition
  5.     Source Database Engine Type : Standalone SQL Server
  6.  
  7.     Target Server Version : SQL Server 2016
  8.     Target Database Engine Edition : Microsoft SQL Server Enterprise Edition
  9.     Target Database Engine Type : Standalone SQL Server
  10. */
  11.  
  12. USE [IDA]
  13. GO
  14.  
  15. /****** Object:  View [dbo].[UserRights]    Script Date: 16.11.2017 7:54:06 ******/
  16. SET ANSI_NULLS ON
  17. GO
  18.  
  19. SET QUOTED_IDENTIFIER ON
  20. GO
  21.  
  22.  
  23. CREATE VIEW [dbo].[UserRights]
  24. AS
  25. SELECT rights.UserId,
  26.        access_rights.*,
  27.        folder.fullpath AS Path
  28. FROM   folder
  29.        JOIN(SELECT usergroupclient.client_id   AS ClientId,
  30.                    folderaccessright.FolderId,
  31.                    Max(Cast([read] AS INT))    AS [Read],
  32.                    Max(Cast([move] AS INT))    AS [Move],
  33.                    Max(Cast([create] AS INT))  AS [Create],
  34.                    Max(Cast([update] AS INT))  AS [Update],
  35.                    Max(Cast([control] AS INT)) AS [Control],
  36.                    Max(Cast([delete] AS INT))  AS [Delete]
  37.             FROM   usergroupclient
  38.                    JOIN folderaccessright
  39.                      ON folderaccessright.usergroupid =
  40.                         usergroupclient.usergroup_id
  41.             GROUP  BY usergroupclient.client_id,
  42.                       folderaccessright.folderid
  43.             UNION ALL
  44.             SELECT -852 AS ClientId,
  45.                    id   AS FolderId,
  46.                    1    AS [Read],
  47.                    1    AS [Move],
  48.                    1    AS [Create],
  49.                    1    AS [Update],
  50.                    1    AS [Control],
  51.                    1    AS [Delete]
  52.             FROM   folder) access_rights
  53.          ON folder.id = access_rights.folderid
  54.        JOIN (SELECT usergroupuser.user_id       AS UserId,
  55.                     folderaccessright.folderid,
  56.                     Max(Cast([read] AS INT))    AS [Read],
  57.                     Max(Cast([move] AS INT))    AS [Move],
  58.                     Max(Cast([create] AS INT))  AS [Create],
  59.                     Max(Cast([update] AS INT))  AS [Update],
  60.                     Max(Cast([control] AS INT)) AS [Control],
  61.                     Max(Cast([delete] AS INT))  AS [Delete]
  62.              FROM   usergroupuser
  63.                     JOIN folderaccessright
  64.                       ON folderaccessright.usergroupid =
  65.                          usergroupuser.usergroup_id
  66.              GROUP  BY usergroupuser.user_id,
  67.                        folderaccessright.folderid
  68.              UNION ALL
  69.              SELECT -874 AS UserId,
  70.                     id   AS FolderId,
  71.                     1    AS [Read],
  72.                     1    AS [Move],
  73.                     1    AS [Create],
  74.                     1    AS [Update],
  75.                     1    AS [Control],
  76.                     1    AS [Delete]
  77.              FROM   folder) rights
  78.          ON folder.id = rights.folderid
  79. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement