Microsoft Dynamics CRM 2011 中 SQL 语句总结
一、查询用户和团队
插入的类型:OwnerIdType 可以为用户或团队:
1.团队: select top 1 ObjectTypeCode from metadataschema.entity where logicalname='team' 结果为:8
2.用户: select top 1 ObjectTypeCode from metadataschema.entity where logicalname='systemuser' 结果为:9
二、CRM的一个实体(比如为new_entity,)是用两个表组成的,分别为new_entityBase(基本表)和new_entityExtensionBase(扩充基本表),new_entity 在数据库里面是以视图形式存在的。
对new_entity实体增删改操作,需要考虑事物,要么都成功,一个失败那边都失败。
SQL 新建一条记录: 先 insert into new_entityBase 后 insert into new_entityExtensionBase
SQL 删除一条记录: 先insert into new_entityExtensionBase 后 insert into new_entityBase
SQL 修改一条记录:update new_entityExtensionBase 就可以了
三、常见SQL处理方法
1.金额取小数点后两位:CAST(金额字段名 as decimal(20,2)) as Price 也可以用C#代码处理 String.Format("{0:f}","金额值"),个人建议用sql语句处理
2.取数据字段类型为两个选项,选项集 可以用 :
(select Value from StringMap S where AttributeName='字段名' and ObjectTypeCode = (select ObjectTypeCode from MetadataSchema.Entity
where LogicalName='实体名' and LangId='语言编码(比如中文2052)' and AttributeValue=a.字段名))
3. 获取TransactionCurrencyId : select TransactionCurrencyId from transactioncurrencyBase where ISOCurrencyCode = 'CNY'
获取ExchangeRate(汇率):select ExchangeRate from transactioncurrencyBase where ISOCurrencyCode='CNY'
4. 如果CRM的基础货币会变化,修改或新增金额的时候,需要金额除汇率,比如: isnull(金额字段的值,0.00)/(select ExchangeRate from transactioncurrencyBase where ISOCurrencyCode='CNY')
5.获取时间 case when A.new_purchasedate is null then null else convert(varchar(10),DATEADD(hh, 8, 时间字段值),111) end as 时间1
说明:查询: DATEADD(HOUR,8,ph.CreatedOn) as CreateDate在基础上加8个小时
修改: DATEADD(HOUR,-8,GETUTCDATE()), 在基础上减去8个小时
C#代码格式化时间 String.Format("{0:yyyy/MM/dd HH:mm:ss}", "时间字段值"); 这里需要yyyy/MM/dd HH:mm:ss(一般是用这个,24小时制) 和yyyy/MM/dd (12小时制)hh:mm:ss 是有区别的。
Microsoft Dynamics CRM 2011 中 SQL 语句总结的更多相关文章
- Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法(转)
本篇文章,介绍Microsoft Dynamics CRM 2011的组织服务中的RetrieveMultiple方法. RetreiveMultiple方法,用于获取实体的多个实例,该方法的签名如下 ...
- Microsoft Dynamics CRM 2011 当您在 大型数据集上执行 RetrieveMultiple 查询很慢的解决方法
症状 当您在 Microsoft Dynamics CRM 2011 年大型数据集上执行 RetrieveMultiple 查询时,您会比较慢. 原因 发生此问题是因为大型数据集缓存 Retrieve ...
- Microsoft Dynamics CRM 2011 安装完全教程
作者:卞功鑫,转载请保留.http://www.cnblogs.com/BinBinGo/p/4302612.html 环境介绍 WINDOWS 2008 R2 Datacenter Microsof ...
- How to control PrincipalObjectAccess table growth in Microsoft Dynamics CRM 2011
https://support.microsoft.com/en-us/kb/2664150 How to control PrincipalObjectAccess table growth in ...
- Microsoft Dynamics CRM 2011 相关-摘自网络
Microsoft Dynamics CRM Server 2011硬件需求: 组件 *最低要求 *推荐配置 处理器 x64 体系结构或兼容的双核 1.5 GHz 处理器 四核 x64 体系结构 2 ...
- Dynamices CRM JS 类库 神器 XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library
XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library http://xrmservic ...
- Error message “Assembly must be registered in isolation” when registering Plugins in Microsoft Dynamics CRM 2011 2013 解决办法
Error message “Assembly must be registered in isolation” when registering Plugins in Microsoft Dynam ...
- 转:JavaScript Reference for Microsoft Dynamics CRM 2011 / 2013
JavaScript Reference for Microsoft Dynamics CRM 2011 / 2013 98 Replies Here’s a quick reference guid ...
- Microsoft Dynamics CRM4.0 和 Microsoft Dynamics CRM 2011 JScript 方法对比
CRM 2011 如果需要再IE里面调试,可以按F12在前面加上contentIFrame,比如 contentIFrame.document.getElementById("字段" ...
随机推荐
- bind出现Address already in use解决方法
在socket函数和bind函数之间加入一段代码: // 建立服务器端socket if((server_sockfd = socket(AF_INET, SOCK_STREAM, 0))<0) ...
- consumer的DubboClientHandler线程池
1. 创建线程池 创建线程池的调用栈如下: SimpleDataStore把线程池存放在map中. public class NettyClient extends AbstractClient { ...
- Linux fcntl函数设置阻塞与非阻塞
转自http://www.cnblogs.com/xuyh/p/3273082.html 用命令F_GETFL和F_SETFL设置文件标志,比如阻塞与非阻塞 F_SETFL 设置给arg描述符 ...
- 无名管道跟dup,dup的使用
参考资料: http://www.tldp.org/LDP/lpg/node11.html http://blog.csdn.net/yeyuangen/article/details/6852682 ...
- 利用express.js连接mongodb数据库
var MongoClient = require('mongodb').MongoClient; var DB_CONN_STR = "mongodb://localhost:27017/ ...
- java之args[0]
java程序有一个主方法main方法,是这样的public static void main(String [] args)args[0]就是用命令行javac编译后java运行java程序时,传入的 ...
- POJ 1007 DNA sorting (关于字符串和排序的水题)
#include<iostream>//写字符串的题目可以用这种方式:str[i][j] &str[i] using namespace std; int main() {int ...
- DiskGenius注册算法简析
初次接触DiskGenius已经成为遥远的记忆,那个时候还只有DOS版本.后来到Windows版,用它来处理过几个找回丢失分区的案例,方便实用.到现在它的功能越来越强大,成为喜好启动技术和桌面支持人员 ...
- JAVA中int转string及String.valueOf()的使用
日常java开放中,经常会遇到int和String的互转,一般图省事的做法就是: String length = ""+100; length的生成需要使用两个临时字符串" ...
- SQL语句执行过程详解
一.SQL语句执行原理: 第一步:客户端把语句发给服务器端执行 当我们在客户端执行select语句时, 客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语句.也就是说,Oracle客户 ...