随笔分类 - 数据库开发
摘要:利用投影可以解决此问题:1 Criteria criteria=session.createCriteria(User.class); 2 ProjectionList proList = Projections.projectionList();//设置投影集合 3 proList.add(Projections.groupProperty( "userName ")); 4 proList.add(Projections.groupProperty( "password ")); 5 criteria.setProjection(proList);
阅读全文
摘要:大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引。1.索引的体系结构为什么要不断的维护表的索引?首先,简单介绍一下索引的体系结构。SQL Server在硬盘中用8KB页面在数据库文件内存放数据。缺省情况下这些页面及其包含的数据是无组织的。为了使混乱变为有序,就要生成索引。生成索引后,就有了索引页和数据页,数据页保存用户写入的数据信息。索引页存放用于检索列的数据值清单(关键字
阅读全文
摘要:一、启动Service Broker检查Service Broker的状态SELECT is_broker_enabled FROM sys.databases WHERE database_id = db_id() 启动Service BrokerALTER DATABASE DMWSNewFunction SET ENABLE_BROKER 二、执行服务1. 在设计Servcie Broker应用程序时,你必须考虑到以下设计方案消息类型(message type)合同(conract)队列(queues)服务(services)服务编程逻辑services program logic)2.
阅读全文
摘要:会话体系结构所有 Service Broker 应用程序都通过“会话”(即可靠的、长时间运行的异步消息交换)进行通信。Service Broker 在会话中使用以下对象。对象 定义 消息 消息是服务间交换的数据。 每个消息都属于一个会话,并具有特定的消息类型。对话会话 对话是两个 Service Broker 服务间的双向会话。 对话为 Service Broker 提供了一次顺序 (EOIO) 消息传递功能。 每个对话属于一个会话组,并遵循特定的约定。会话组 会话组标识共同完成同一项任务的多个会话。Service Broker 使用会话组来管理消息锁定,这可以帮助应用程序开发人员管理并发。
阅读全文
摘要:由于最近在做跨域文件的传输,用到了SQL Broker,写在简单介绍一下,大部分来自MSDN。Service Broker 是 Microsoft SQL Server 2005 中的新技术,它可帮助数据库开发人员生成安全、可靠且可伸缩的应用程序。 由于 Service Broker 是数据库引擎的组成部分,因此管理这些应用程序就成为数据库日常管理的一部分。Service Broker 为 SQL Server 提供队列和可靠的消息传递。 Service Broker 对使用单个SQL Server 实例的应用程序和在多个实例间分配工作的应用程序都适用。在单个 SQL Server 实例中,S
阅读全文
摘要:路就是把传入的字符串转换成一个table, 见代码DECLARE @tempTable table(F1 nvarchar(20))DECLARE @ch nvarchar(20)DECLARE @PlanningCrewIDS nvarchar(200)set @PlanningCrewIDS = '1,2,3,4,'WHILE(@PlanningCrewIDS <>'')BEGINSET @ch = LEFT(@PlanningCrewIDS,Charindex(',',@PlanningCrewIDS,1) -1) INSERT
阅读全文
摘要:概要集中:Connection 是由系统管理的,由一个pool提供,一般不会引发问题,但是及时close仍然是好习惯Transaction和sqlreader是我们必须自己管理的资源,必须保持对称Transaction beginCommit/rollbackReader open-> close并且要考虑异常的处理,就是有异常时也要保证资源被清理对reader 用using()对 transcation 用 TryCatchFinal—可选详解:SQLConnection的运用线程池技术开发Pooling参数用来说明在连接到数据源时,是否使用连接池,默认是True。当该值为True 时
阅读全文
摘要:游标SELECT操作将不会对正处理的行执行任何锁定设置,这使得连接到该数据库的其他会话可以改变正在选择的数据,使用FORUPDATE子句,在OPEN返回以前的活动集的相应行上会加上互斥锁,这些锁会避免其他的会话对活动集中的行进行更改。直到整个事务被提交为止。示例:DECLARE cur CURSOR FOR SELECT * FROM [Table] FOR UPDATE OF [Table.col]OPEN curWHILE @@FETCH_STATUS=0BEGIN UPDATE [Table] SET [Table.col] WHILE CURRENT OF curENDCLOSE cu
阅读全文
摘要:第一种方法:declare @tb1 table (日期datetime,部门varchar(50),姓名varchar(50),当天业绩int)insert into @tb1 values ('2008/03/01','Group1','ZhangSan' ,5000)insert into @tb1 values ('2008/03/03','Group1','ZhangSan',3000) insert into @tb1 values ('2008/03/05','
阅读全文
摘要:create table SC( SNo int, Sname nvarchar(50), Cname nvarchar(50), Score int,)insert into SC values(1 , '张三', '数学', 89),(1 ,'张三', '语文' ,80),(1, '张三', '英语', 70),(2, '李四', '数学', 90),(2, '李四', '语文', 70),(2, '李四',
阅读全文
摘要:一:Create PROCEDURE [dbo].[Basic_Pagination2000]@tblName varchar(255), -- 表名@fidlelist varchar(2000), --要查询字段@fldName varchar(255), -- 排序字段@PageSize int, -- 页尺寸@PageIndex int, -- 页码@IsReCount bit, -- 返回记录总数, 非0 值则返回@OrderType bit, -- 设置排序类型, 非0 值则降序@strWhere varchar(1000) -- 查询条件(注意: 不要加where)ASdecla
阅读全文