随笔分类 -  数据库开发

摘要:RESTORE FILELISTONLY FROM DISK = 'D:\All\DataBase\(2013-12-18)-1.bak'用来查看备份文件中的逻辑文件信息。相关信息:SqlServer 还原数据库 代码实现 阅读全文
posted @ 2013-12-19 10:37 拓荒者FF 阅读(798) 评论(0) 推荐(0) 编辑
摘要:RESTORE DATABASE TargetDBFROM DISK = 'D:\DataBase\DB.bak'with replace,MOVE 'DB' TO 'D:\DataBase\TargetDB.mdf',MOVE 'DB_log' TO 'D:\DataBase\TargetDB_log.ldf'以上这段代码可以用来使用备份文件还原数据库,可以解决“备份集中的数据库备份与现有的数... 阅读全文
posted @ 2013-10-18 17:20 拓荒者FF 阅读(1053) 评论(0) 推荐(0) 编辑
摘要:在MSDTC中访问OLE DB数据库的时候,会抛出异常,异常信息大概是:"Microsoft.Jet.OLEDB.4.0”提供程序不支持 ITransactionLocal 接口。本地事务不可用于当前提供程序,或者是与基础事务通信失败。 原来,在创建OLE DB数据库连接的时候,默认是打开了事务的(automatic transaction enlistment),所以如果放在MSDTC中会出现... 阅读全文
posted @ 2013-01-26 16:28 拓荒者FF 阅读(691) 评论(0) 推荐(0) 编辑
摘要:原文链接:http://www.cftea.com/c/2007/08/6HLN4P3VBKA1W2EA.asp“自定义函数”是我们平常的说法,而“用户定义的函数”是 SQL Server 中书面的说法。SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值。自定义函数分为:标量值函数或表值函数如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可以使用多条 Transact-SQL 语句定义标量值函数。如果 RETURNS 子句指定 TABLE,则函数为表值函数。表值函数又可分为:内嵌表值函数(行内函数)或多语句函数如果 RETURNS 子句指定的 T 阅读全文
posted @ 2012-09-19 14:54 拓荒者FF 阅读(741) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://blog.csdn.net/kiki113/article/details/4105929行列转换等经典SQL语句1.--行列转换原表: 姓名 科目 成绩 张三语文80张三 数学 90 张三 物理 85 李四语文 85 李四物理 82 李四英语 90李四政治 70 王五英语 90转换后的表: 姓名 数学 物理 英语 语文 政治 李四082908570 王五 0090 0 0 张三 90 850 80 0实例:create table cj --创建表cj( ID Int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1... 阅读全文
posted @ 2012-05-25 14:19 拓荒者FF 阅读(522) 评论(0) 推荐(0) 编辑
摘要:范式的作用:消除数据冗余、更新异常、插入异常和删除异常。1NF如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。不满足第一范式就不是关系型数据库!2NF若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF表中的属性必须完全依赖于全部主键,而不是部分主键。所以只有一个主键的表如果符合第一范式,那一定是第二范式。3NF在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在&q 阅读全文
posted @ 2012-04-20 17:22 拓荒者FF 阅读(5685) 评论(0) 推荐(1) 编辑
摘要:原文链接:http://www.it118.org/Specials/c9fba99e-4401-49cf-8256-ac3c1a34c0d9/cf2a7ceb-1815-43fe-8810-47af11ac65a9.htm有两种方法可以是实现,而且不使用游标.下面两种方法性能远好于游标.1.INSERT INTO SELECT 这种方法常用在目标表已经存在数据库中.需要从源表把数据插入到目标表的情况.如果目标表和源表的列相同,就不必列出数据列了.USE AdventureWorks GO ----Create TestTable CREATE TABLE TestTable (FirstNa 阅读全文
posted @ 2012-04-06 10:32 拓荒者FF 阅读(26042) 评论(0) 推荐(0) 编辑
摘要:C#中用Guid.NewGuid().ToString()Sql中用NEWID()以上方法生成的是36位的GUID,如果需要转换成32位,则需要替换掉其中的'-'字符。Sql中的方法:replace(newid(), '-', '')------------------------------------------ GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于 阅读全文
posted @ 2012-04-06 10:30 拓荒者FF 阅读(52515) 评论(4) 推荐(5) 编辑
摘要:IF ELSE 语句IF ELSE 是最基本的编程语句结构之一几乎每一种编程语言都支持这种结构而它在用于对从数据库返回的数据进行检查是非常有用的TRANSACT-SQL 使用IF ELSE的例子如下语法if (condition)begin(statement block)endelse if (condition)beginstatement block)endelsebegin(statement block)end注意当所指定的条件为真时对应的BEGIN END 语句块就会被执行同时你也应该注意将每一个语句缩进一定量的空格是一种很好的编程习惯它可以极大的提向你的程序的易读性和由于易读性不 阅读全文
posted @ 2012-03-29 12:04 拓荒者FF 阅读(479) 评论(0) 推荐(0) 编辑
摘要:FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.一.FOR XML PATH 简单介绍那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下:接下来我们来看应用FOR XML PATH的查询结果语句如下:SELECT*FROM@hobbyFORXMLPATH 结果:<row><hobbyID>1</hobbyID><hName>爬山& 阅读全文
posted @ 2012-03-14 10:26 拓荒者FF 阅读(264) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://space.itpub.net/16436858/viewspace-624449递归CTE是SQL SERVER 2005中重要的增强之一。一般我们在处理树,图和层次结构的问题时需要用到递归查询。 CTE的语法如下1WITHCTEAS2(3SELECTEmpId,ReportTo,FNameFROMEmployWHEREEmpId=14UNIONALL5SELECTemp.EmpId,emp.ReportTo,emp.FNameFROMCTEJOINEmployasempONCTE.EmpId=emp.ReportTo6)递 归CTE最少包含两个查询(也被称为成员)。 阅读全文
posted @ 2012-02-20 12:35 拓荒者FF 阅读(470) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://space.itpub.net/7899089/viewspace-702803有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。 1、对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集。 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 select distinct * into #Tmp from tableName... 阅读全文
posted @ 2012-02-08 14:00 拓荒者FF 阅读(13385) 评论(0) 推荐(2) 编辑
摘要:sql server 跨服务器查询,很实用 阅读全文
posted @ 2012-01-14 22:27 拓荒者FF 阅读(828) 评论(0) 推荐(0) 编辑
摘要:Maybe not a bug... but it still sucks! 阅读全文
posted @ 2011-10-18 18:32 拓荒者FF 阅读(577) 评论(0) 推荐(0) 编辑
摘要:今天同学问我这个该怎么处理,我觉得对它进行转换:WITH T1 AS(SelectConvert(DateTime,('2011-6-10 '+CONVERT(varchar(100), 登记时间, 24))) AS 时间,*From[采购_使用计划])Select T1.*FROM T1Where 时间 Between'2011-6-10 09:00:00'AND'2011-6-10 10:00:00' 如果不指定日期也是可以的,默认为1900-1-1.经过测试可用,不知道效率如何。 阅读全文
posted @ 2011-06-20 20:31 拓荒者FF 阅读(1223) 评论(0) 推荐(1) 编辑
摘要:其实我们一直在使用SqlServer的连接池。在连接字符串中,Pooling为是否启用连接池,默认值为true,表示启用。 与连接池相关的两个重要参数是 Min Pool Size和 Max Pool Size ,分别是池中的最小连接数和池中的最大连接数,默认值分别是0和100。 在我们创建一个连接的实例,并调用Open()方法时,连接池管理程序会在连接池中找到一个可用的连接;当调用Close()方法时,连接池管理程序又将连接返回到连接池中,以供下一次调用Open()方法时使用。 另外,连接字符串中的 Connection Lifetime 为连接池中的连接设置了生命周期。它的默认值... 阅读全文
posted @ 2011-06-18 22:43 拓荒者FF 阅读(24162) 评论(0) 推荐(8) 编辑
摘要:禁止VIA协议就可以了,05和08一样。开始-》Sql server 2005-》配置工具-》SQL Server Configuration Manager-》sql协议-》禁止VIA 阅读全文
posted @ 2011-05-06 11:21 拓荒者FF 阅读(13311) 评论(6) 推荐(2) 编辑
摘要:前言C#常用来开发数据管理类软件,所以学会在C#程序中使用数据库是非常有必要的。目前微软的两个常用数据库软件分别是Access和Sql Server。读者可以自行了解这两种数据库的优劣点,笔者不做过多说明。这两种数据库也是在做开发时最常用的。C#访问数据库是通过ADO.NET实现的。ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。ADO.NET 为创建分布式数据... 阅读全文
posted @ 2010-05-15 22:01 拓荒者FF 阅读(620) 评论(0) 推荐(1) 编辑
摘要:T-Sql操作Xml数据一、前言SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数。为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB)。用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中。随着SQL Server 对XML字段的支持,相应的,T-SQL语句也提供了大量对XML操作的功能来配合SQL Server中XML字段的使 阅读全文
posted @ 2008-11-27 16:59 拓荒者FF 阅读(62370) 评论(24) 推荐(26) 编辑