随笔分类 - 数据库
数据库相关
摘要:一天有多笔交易,我们需要用sql取每天的最后一笔交易。
本文用CTE和ROW_NUMBER()函数实现了2005下的sql,并实现了一下2000下的做法,大家有别的做法,欢迎赐教。
阅读全文
摘要:使用t-sql从身份证号中提取生日,一下是转换16位身份证号的例子,仅供参考。 create function getDateFromID( @id char(15) ) returns datetime as begin declare @birthPart char(6); set @birthPart = substring(@id,7,6); declare...
阅读全文
摘要:在建主键时ms sql server总是自动在主键上建上聚集索引,并默认设置聚集索引列升序排列;如果我们的常用查询是根据主键列倒叙排列时,这对性能会有一些影响。本文通过实例证明了这种影响,以提示大家注意索引列的排序方式。
阅读全文
摘要:sql server用户自定义函数使用上的5点限制。
阅读全文
摘要:介绍sql server2005的cross apply语句。
阅读全文
摘要:Sql Server2005对t-sql的增强之通用表表达式CTE
阅读全文
摘要:sql server 2005对top增强,可以传入参数或者子查询。
阅读全文
摘要:本文实现了一个拆分字符串的clr的表值函数并将其注册到sql server2005中;然后用t-sql实现了相同功能;最后比较了两种实现的性能。
阅读全文
摘要:Sql Server2005对t-sql的增强之排名函数,介绍NTILE,RANK,DENSE_RANK,ROW_NUMBER函数的使用。
阅读全文
摘要:在資料庫中, 常用的一個流水編號通常會使用 identity 欄位來進行設置, 這種編號的好處是一定不會重覆, 而且一定是唯一的, 這對table中的唯一值特性很重要, 通常用來做客戶編號, 訂單編號等功能, 以下介紹關於此種欄位常用方式及相關技術. 後面的範例表皆以此表為建立: CREATE TABLE products (id int IDENTITY PRIMARY KEY, produc...
阅读全文
摘要:我们在开发系统的时候,经常会遇到系统需要权限控制,而权限的控制程度不同有不同的设计方案。
阅读全文
摘要: 不要使用游标 规范化你的数据表 不要使用SELECT * 了解你将要对数据进行的操作 不要给“性别”列创建索引 使用事务 小心死锁 不要打开大的数据集 不要使用服务器端游标 使用参数查询 在程序编码时使用大数据量的数据库 不要使用INSERT导入大批的数据 注意超时问题 不要忽略同时修改同一记录的问题 在细节表中插入纪录时,不要在主表执行SELECT MAX(ID)...
阅读全文
摘要:1. 判断a表中有而b表中没有的记录 select a.* from tbl1 a left join tbl2 b on a.key = b.key where b.key is null 虽然使用in也可以实现,但是这种方法的效率更高一些 2. 新建一个与某个表相同结构的表 select * into b from a where 11 3.between的用法,bet...
阅读全文
摘要:在google中搜索“分页存储过程”会出来好多结果,是大家常用的分页存储过程,今天我却要说它是有漏洞的,而且漏洞无法通过修改存储过程进行补救,如果你觉得我错了,请读下去也许你会改变看法。 通常大家都会认为存储过程可以避免sql注入的漏洞,这适用于一般的存储过程,而对于通用分页存储过程是不适合的,请看下面的代码和分析! 一般的通用的分页存储过程代码如下: 通用分页存储过程Code hig...
阅读全文
摘要:讨论已经运行了一段时间的产品发布新版本时(此时数据库中已经有了一些数据),数据库结构脚本该如何更新,才能保证正确无误。
文中的方法是我们公司使用的方法,可能不是最好的办法,欢迎大家赐教。
阅读全文