随笔分类 - SQL
1
摘要:数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持。 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL Server Migration Assistant for MySQL 的使用. 从上面链接的官
阅读全文
摘要:FindObject: 在当前Server上找某某object,注意只需修改"要找的object"就可以使用EXEC sp_MSforeachdb 'use ? ;IF EXISTS(SELECT top 1 1 FROM sys.syscomments WHERE text LIKE ''%要找的
阅读全文
摘要:最近在做项目的过程中遇到一个MySql在并发时初始化的问题,场景是这样子的: 我在Job中设定在同一时间点启动多个操作来访问数据库更新数据,结果在创建连接的时候抛出下面的问题: Note that while a DataReader is open, the Connection is in us
阅读全文
摘要:我要实现的功能是统计订单日志表中每一个订单的前三条日志记录,表结构如下: 一个订单在定点杆日志表中有多条记录,要根据时间查询出每一个订单的前三条日志记录,sql如下: 思路是:先在内层根据CreationTime做排序,然后再自关联一下本身的表,根据主键关联,然后对结果集做分组和排序,这样就能保证同
阅读全文
摘要:DECLARE @SOInfoList TABLE ( SONumber INT, SODate datetime, Status char(1) ) INSERT INTO @SOInfoList ( SONumber, SODate, ...
阅读全文
摘要:SELECT TransactionNumber,SUM(CASE WHEN ReasonLevel=0 THEN TransactionNumber ELSE 0 end ) as Man,sum(CASE WHEN ReasonLevel=1 THEN TransactionNumber ELSE 0 end ) as WomanFROM codeCenter.dbo.ClaimReasonTree WITH(NOLOCK)GROUP BY TransactionNumberCASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3
阅读全文
摘要:DECLARE @PreSOMasterXML XMLDECLARE @SDA VARCHAR(100)SET @PreSOMasterXML=N' CloseByVariable 1239 #DV_ApproveUserID# cz52 #DV_SONumber# 20127720 'SET @SDA = @PreSOMasterXML.value('(/ProcessTaskRequest/ActionType/text())[1]',N'nchar(100)')SELECT @SDA AS VARABLE
阅读全文
摘要:SQL 表变量和临时表 表变量:存储在内存中,作用域是脚本的执行过程中,脚本执行完毕之后就会释放内存,适合短时间内存储数据量小的数据集。 优点:使用灵活,使用完之后立即释放,不占用物理存储空间 缺点:只适合较小数据量的暂时存储,不能建索引,数据量稍大时查询效率慢,占内存 使用临时表和表变量的数据量大
阅读全文
摘要:一、引言SQL Server 2005 的一个主要成就是可以实现可靠、可扩展且功能完善的数据库应用程序。与 .NET Framework 2.0 公共语言运行库 (CLR) 的集成使开发人员可以将重要的业务逻辑与存储过程合并,而 T-SQL 和 XML 中的新增功能扩展了数据操作的可用范围以及开发人员可用的存储功能。另一个重要功能是 SQL Server Service Broker,它为数据库应用程序增加了可靠、可扩展、分布式异步功能。二、为什么要编写异步排队操作?在开发 SQL Server 2005 时,我们与成功开发过大型可扩展数据库应用程序的人员进行了交谈。结果发现他们几乎所有的应用
阅读全文
摘要:高效SQL语句必杀技 No SQL,No cost. SQL语句是造成数据库开销最大的部分。而不良SQL写法直接导致数据库系统性能下降的情形比比皆是。那么如何才能称得上高效的SQL语句呢?一是查询优化器为当前的SQL语句生成最佳的执行计划,保证数据读写使用最佳路径;二是设置合理的物理存储结构,如表的类型,字段的顺序,字段的数据类型等。本文主要描述如何编写高效的SQL语句并给出示例。下面的描述主要分为三个部分,一是编写高效SQL语句,二是使用索引提高查询性能的部分,三是总结部分。一、编写高效SQL语句[sql]view plaincopyprint?1)选择最有效的表名顺序(仅适用于RBO模式)
阅读全文
摘要:下述14则数据库设计技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些数据库设计经验的运用,灵活掌握,并逐步做到:在应用中发展,在发展中应用。 数据库设计技巧14则 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关...
阅读全文
摘要:大家来看一些不错的sql语句1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)法一:select * into b from a where 1<>1法二:select top 0 * into b from a2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)insert into b(a, b, c) select d,e,f from b;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ wh
阅读全文
摘要:SQL 系统存储过程用法整理-- Author : htl258(Tony)-- Date: 2010-07-06 23:13:19-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)--Jul9 2008 14:43:34--Copyright (c) 1988-2008 Microsoft Corporation--Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)-- Blog: http://blo
阅读全文
摘要:SQL数据库常用命令全集--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDUR
阅读全文
摘要:SQL Server Management Studio 键盘快捷键 此文章由以前收藏,非原著。·SQL Server 2008 R2·SQL Server 2008SQL Server Management Studio 为用户提供了两种键盘方案。默认情况下使用的是“标准”方案,即使用基于 Microsoft Visual Studio 的键盘快捷键。另一种是 SQL Server 2000 方案,此方案与 SQL Server 2000 中的工具极为相似,尤其是查询分析器中的键盘快捷键。在一些情况下,SQL Server Management Studio 不能提供查询
阅读全文
摘要:一、内部函数 1、内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和; 4)SUM(DISTINCT COLNAME) 返回指定列中唯一值的和 5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值 6)AVG(DISTINCT COLNAME) 返回指定列中唯一值的平均值 7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值 8)MAX(COLNAME/EXPRESSION)返回指定列或表
阅读全文
摘要:很早就知道可以用.NET为SQLServer2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQLServer中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。首先要说明的是要在SQLServer中启用CLR必须是在SQLServer2005及以上版本,其次在默认情况下是没有启用CLR的,必须要显示设置为启用。比如我们要在ArticleCollectorDB数据库中运行用.NET编写的函数或者存储过程,至少先要进行下面的SQL语句:[sql]view plaincopyex
阅读全文
摘要:SQL Server 索引结构及其使用一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有..
阅读全文
摘要:SQL Server 索引基础知识(1)--- 记录数据的基本格式由于需要给同事培训数据库的索引知识,就收集整理了这个系列的博客。发表在 这里,也是对索引知识的一个总结回顾吧。通过总结,我发现自己以前很多很模糊的概念都清晰了很多。不论是缓存的数据信息,还是物理保存的信息,他们的基本单位都是数据页。所以理解数据页是最最基础的知识点,本篇博客就介绍跟索引有关的数据页的一些基础知识。数据页的基础知识SQL Server 中数据存储的基本单位是页(Page)。数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 连续编号)。磁盘 I/O 操作在页级执行。也就是
阅读全文
摘要:/* 创建没有主数据文件和日志文件的数据库*/use mastergoif db_id( 'sales') is not nulldrop database salesgocreate database salesgo/*自定义创建数据库*/use mastergoif db_id('sales') is not nulldrop database salesgocreate database saleson --创建主数据文件( name = sales_dat ,--逻辑名称 filename='d:\sales\sales.mdf',--物
阅读全文
1