CREATE FUNCTION dbo.fn_GetFilteredIdsSqlString
(
@SystemUserId VARCHAR(36) ,
@ObjectTypeCode VARCHAR(10) ,
@entityname VARCHAR(100)
)
RETURNS NVARCHAR(max)
AS
BEGIN DECLARE @sqlText NVARCHAR(4000)
SET @sqlText = ' SELECT ' + @entityname + 'id id from ' + @entityname
+ ' JOIN SystemUserBase u ON ( u.SystemUserId = '''
+ @SystemUserId + ''' AND u.IsDisabled = 0 ) '
+ ' CROSS JOIN dbo.fn_GetMaxPrivilegeDepthMask_SQL('
+ @ObjectTypeCode + ',''' + @SystemUserId + ''' ) pdm '
+ ' WHERE ( ' + ' pdm.PrivilegeDepthMask IS NOT NULL '
+ ' AND ( ' + ' [' + @entityname + '].OwnerId IN ( '
+ ' SELECT OwnerId '
+ ' FROM [dbo].[fn_GetOwnerIdsForFilteredView](u.SystemUserId,'
+ @ObjectTypeCode + ') ) ' + ' OR EXISTS ( SELECT 1 '
+ ' WHERE ( ( ( ( pdm.PrivilegeDepthMask & 0x4 ) != 0 ) OR ( ( pdm.PrivilegeDepthMask & 0x2 ) != 0 ) '
+ ' AND [' + @entityname + '].[OwningBusinessUnit] IN ( '
+ ' SELECT BusinessUnitId FROM SystemUserBusinessUnitEntityMap WITH ( NOLOCK ) WHERE SystemUserId = '''
+ @SystemUserId + ''' AND ObjectTypeCode =' + @ObjectTypeCode
+ ' ) ) '
+ ' OR ( ( ( pdm.PrivilegeDepthMask & 0x8 ) != 0 ) AND ['
+ @entityname + '].[OwningBusinessUnit] IS NOT NULL) ) ' + ' OR ['
+ @entityname + '].' + @entityname + 'id IN ( '
+ ' SELECT ObjectId FROM [dbo].[fn_GetSharedRecordIdsForFilteredView]('''
+ @SystemUserId + ''' , ' + @ObjectTypeCode + ') ) ) ) )' RETURN @sqlText END

因为存在动态SQL,所以不好写成 表值函数.暂时只能这样了.

CRM 权限内可查看的记录数的更多相关文章

  1. sqlserver sql语句查看分区记录数、查看记录所在分区

    select count(1) ,$PARTITION.WorkDatePFN(workdate) from imgfile group by $PARTITION.WorkDatePFN(workd ...

  2. 无依赖简单易用的Dynamics 365实体记录数计数器并能计算出FetchXml返回的记录数

    本人微信公众号:微软动态CRM专家罗勇 ,回复278或者20180812可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 我们 ...

  3. 亿方云(用电话或者qq沟通是远远不够的,容易忘还不能反复催,最好的方式就是指定一个平台,团队内的人定期查看最新记录)

    作者:城年链接:http://www.zhihu.com/question/20579359/answer/106319200来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新,文字发完后,好 ...

  4. Dynamic CRM 2015学习笔记(6)没有足够的权限 - 您没有访问这些记录的权限。请联系 Microsoft Dynamics CRM 管理员

    我们经常遇到下面这种问题:没有足够的权限 - 您没有访问这些记录的权限.请联系 Microsoft Dynamics CRM 管理员.  下面将详细介绍下如何解决这种问题:进不了CRM系统:进了CRM ...

  5. 查看mysql库中所有表的大小和记录数

    查看mysql库中所有表的大小和记录数 ,), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='datab ...

  6. navicat查看mysql数据表记录数不断变化

    在使用navicat进行数据库管理的时候,在查看表对象的时候会发现,每次刷新,数据表的记录数不断变化,尤其是大表. 对于100万的数据经常会显示九十几万,当然通过count(*)出来的数据是正确的. ...

  7. MySQL数据库查看数据表占用空间大小和记录数

    MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHE ...

  8. SQLSERVER 数据库查看各表的记录数

    select   a.name as 表名,max(b.rows) as 记录条数   from   sysobjects   a   ,sysindexes   b       where   a. ...

  9. SQL Server 2008系统信息查询常用命令 查看表大小、记录数等

    1.返回所有数据库信息(数据库名,创建日期,存储路径等).   use master; GO select * from dbo.sysdatabases 2.返回当前数据库所有对象(可根据type字 ...

随机推荐

  1. Android.bp学习笔记

    1.Android.bp简介 Android 7.0之后希望用Android.bp替换Android.mk,bp简单的配置更方便Ninja 文件的产生,而Blueprint和Soong 就此产生.An ...

  2. MySQL Disk--SSD和HDD的性能

    ========================================================= 机械硬盘的性能 7200转/分的STAT硬盘平均物理寻道时间是9ms 10000转/ ...

  3. 使用 loki grafana 分析nginx 请求日志

    loki 是类似prometheus 的log 可视化展示.收集系统,已经集成在grafana 6.0 版本中了 说明: 测试环境使用了docker-compose 运行 环境准备 docker-co ...

  4. redis之 Redis持久化配置

    Redis持久化配置 Redis的持久化有2种方式   1快照  2是日志 Rdb快照的配置选项 save 900 1      // 900内,有1条写入,则产生快照 save 300 1000   ...

  5. ES6 中 Class 与 TypeScript 中 Class 的区别(待补充)

    ES6 中 Class 与 TypeScript 中 Class 的区别(待补充)

  6. django用mysql数据库出现的问题解决

    blog添加不了文章!! 做了个程序,将数据库迁移到服务器之后,发现一个奇怪的错误.Field 'id' doesn't have a default value.查看了一下,程序是没问题的,但是这是 ...

  7. 如何利用jquery来给input添加或删除disabled属性

    1.以下二种方法是可以为input添加disabled属性的方法: //两种方法设置disabled属性 $(".save").attr("disabled", ...

  8. jdk源码剖析三:锁Synchronized

    一.Synchronized作用 (1)确保线程互斥的访问同步代码 (2)保证共享变量的修改能够及时可见 (3)有效解决重排序问题.(Synchronized同步中的代码JVM不会轻易优化重排序) 二 ...

  9. C#性能优化总结

    1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意. 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所 ...

  10. delphi读取xml文件

    功能: 根据省份更新地市信息 -------------------------------------------------------------------------------} proc ...