文章分类 - 数据库
摘要:大部分数据库在进行字符串比较的时候,对大小写是不敏感的。但是,最近使用SQLite的时候,却发现它的情况恰好相反。假设表User的结构和值如下:UserName1User1执行下面的SQL语句:SELECT * FROM [User] WHERE UserName = 'user1'结果是没有找到任何记录。明显地,SQLite在进行字符串比较的时候,默认对大小写是敏感的。这会对应用程序造成不良的影...
阅读全文
摘要:行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。 用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的 SELECT...CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题...
阅读全文
摘要:实现SQLSERVER动态游标的方法1:CREATETABLE#tabTmp(idint)INSERT#tabTmpEXECUTE(’SELECTidFROM’+@TableName)declarecurOnecursorforSELECTidFROM#tabTmpopencurOneFETCHNEXTfromcurOneinto@ID实现SQLSERVER动态游标的方法2...
阅读全文
摘要:导言 触发器是存储用来在某种类型的SQL Server动作发生时自动执行一个任务的TSQL代码。如同它们名称所隐含的,触发器是由某些监控的动作来触发或关闭的。这些监控的动作可以是三种分类之一:DML、DDL或一个Logon Event。DML(数据操纵语言)触发器是在执行 一个Insert、Update或Delete语句时触发。DDL触发器(数据定义语言)是由一个schema级别事件&mdash...
阅读全文
摘要:假如发生了死锁,我们怎么去检测具体发生死锁的是哪条SQL语句或存储过程?此时我们可以使用以下存储过程来检测,就可以查出引起死锁的进程和SQL语句。 usemaster go createproceduresp_who_lock as begin declare@spidint,@blint, @intTransactionCountOnEntryint, @intRowcounti...
阅读全文
摘要:查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇之处在于其提供的模糊查询功能,通过与它相匹配的四大类通配符,like放在条件中起到画龙点睛的作用。一、一般搜索条件中用Like可与LIKE配对的数据类型主要是字符串、日期或时间值。LIKE 关键字可以使用常规表达式包含上面三种类型数据,这些数据字符串中可包含下面四种通配符的任意组合。...
阅读全文
摘要:SQL SERVER 2005中,新增加了许多新的特性,其中的DDL触发器是个不错的选择,根据资料初步学习如下,现整理之。 SQL SERVER 2005中,新增加了许多新的特性,其中的DDL触发器是个不错的选择,根据资料初步学习如下,现整理之。 在sql server 2000中,只能为针对表发出的 DML 语句(INSERT、UPDATE 和 DELETE)定义 AFTER 触发器。SQL...
阅读全文
摘要:移动数据库最大的问题在于性能,因为受制于移动平台的计算能力。本文将为大家讲的是基于SQL Server 2005或2008平台进行的移动系统数据库开发。 说到这个问题,基本上有人就会想到三个问题: 1,什么是系统数据? 2,为什么要移动系统数据库? 3,移动系统数据库我们可以用附加和分离,为什么还要单独拿出来说呢? 对于这三个问题我一个一个讲吧,也算是自己做个笔记。 1,什么是系统数据...
阅读全文
摘要:sql server中判断表或者数据库的存在,实际是判断Status状态位: 其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user 等)进行设置: 1 = autoclose;使用 sp_dboption 设置。 数据库完全关闭,其资源在最后一个用户注销后释放。 4 = select into/bulkcopy;使用 sp...
阅读全文
摘要:在对跨多个表格的数据进行组合时,有时很难搞清楚要使用哪一个SQL句法。我将在这里对将多个表格中的查询合并至单一声明中的常用方式进行阐述。 在这篇文章中的样本查询符合SQL92 ISO标准。不是所有的数据库生产商都遵循这项标准,而且很多厂商采取的提升措施会带来一些意料不到的后果。如果你不确定你的数据库是不是支持这些标准,你可以参看生产厂商的有关资料。 SELECT 一个简单的SELECT声明就...
阅读全文
摘要:Windows Server 2008性能监测Windows Server 2008 新增了名为可靠性与性能监测器的MMC插件。它整合了系统性能日志与警报、服务器性能优化建议、系统监测器等多个工具,这些工具在此前的Windows Server 2003中是需要单独执行的。可靠性与性能监测器插件的主要功能有:系统资源视图、系统数据搜集组、系统诊断报表等。在系统资源视图中并列显示了当前服务器CPU、磁...
阅读全文
摘要:数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型: ·Binary[(n)] ·Varbinary[(n)] ·Char[(n)] ·Varchar[(n)] ...
阅读全文
摘要:所谓系统数据库就是我们在装SQL Server之后,系统自带的数据库。如果你装SQL Server2005或2008在打开一个SQL实例后,就会看到一个数据库—>系统数据库文件夹,里边就是系统自带的数据库,如图: 对于每一个系统数据库,这里我先用简单的语言说一下: 1)master: 这个数据库是全局数据库,它包含一些系统表,权限分配,用户帐号设置,当前数据库配置信息以及关...
阅读全文
摘要:以下的文章主要向大家讲述的是MS-SQL server数据库的开发精典技巧,我在一个信誉度很好的网站找到一个关于MS-SQL server数据库的开发精典技的资料,拿出来供大家分享,望你会在以后的学习或是工作中带来很大的帮助。 1.按姓氏笔画排序:以下是代码片段:Select * From TableName Order By CustomerName Collate Chinese_PRC_S...
阅读全文
摘要:动态SQL:code that is executed dynamically。它一般是根据用户输入或外部条件动态组合的SQL语句块。动态SQL能灵活的发挥SQL强大的功能、方便的解决一些其它方法难以解决的问题。相信使用过动态SQL的人都能体会到它带来的便利,然而动态SQL有时候在执行性能(效率)上面不如静态SQL,而且使用不恰当,往往会在安全方面存在隐患(SQL 注入式攻击)。 动态SQL可以...
阅读全文
摘要:一、 关于动态参数创建:1、CreateParameter方法; // 惯用此招 var StProc: TADOStoredProc; iPara1: byte; iPara2: byte; begin StProc := TADOStoredProc.Create(nil); StProc.Close; StProc.Connection := con; // TADOConnection ...
阅读全文