博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  SqlServer

摘要:有时不经意就使用了系统关键字作为字段名,这样带来的后果就是必须用中括号把该字段名括起来。 比如:Identity 阅读全文

posted @ 2008-06-25 20:24 懒人ABC 阅读(508) 评论(0) 推荐(0)

摘要:SET NOCOUNT 使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。 语法 SET NOCOUNT { ON | OFF } 注释 当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。 即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT... 阅读全文

posted @ 2008-06-11 08:32 懒人ABC 阅读(13361) 评论(1) 推荐(4)

摘要:当我们为某个员工设置权限时,发现员工可以属于很多个部门,于是这个员工拥有的权限也将很多。 这时,我们可以考虑用与运算来出来权限的问题。 假定有很多模块,每个模块允许设置使用权限。 模块X1使用权限为权限1, 模块X2使用权限为权限4, 假定统计得出一共存在10个权限。 那么我们设定第一个权限值为1,第二个权限值为2,第三个权限值为4,等等根据二进制的原理进行设置。 如果用户A拥有权限1,权限3,那... 阅读全文

posted @ 2008-06-09 10:56 懒人ABC 阅读(1251) 评论(0) 推荐(0)

摘要:select convert(varbinary, 241) result: 0x000000F1 阅读全文

posted @ 2008-05-27 17:05 懒人ABC 阅读(230) 评论(0) 推荐(0)

摘要:当数据库日期格式为yyyy/MM/dd,程序的webservice端为MM/dd/yyyy 使用 select * from t1 where date1 = '04/01/2008',将查询不出来数据。 阅读全文

posted @ 2008-05-06 14:29 懒人ABC 阅读(678) 评论(0) 推荐(0)

摘要:查询主键的列,将用到sys.indexes和sys.index_columns两个视图。 sys.indexes主要保存索引和主键等值,并保存有判断是否为主键的列。 sys.index_columns主要用保存sys.indexes视图内对应的主键等列的index_id的信息。 具体实现为: select t4.name as columnname from --t4.name 列名 sys.t... 阅读全文

posted @ 2008-04-24 09:30 懒人ABC 阅读(1553) 评论(0) 推荐(0)

摘要:SQL Server 2005 联机丛书(2007 年 9 月) 精度、小数位数和长度 (Transact-SQL) 精度是数字中的数字个数。小数位数是数中小数点右边的数字个数。例如,数 123.45 的精度是 5,小数位数是 2。 在 SQL Server 2005 中,numeric 和 decimal 数据类型的默认最大精度为 38。在 SQL Server 的早期版本中,默认的最大... 阅读全文

posted @ 2008-04-10 17:58 懒人ABC 阅读(1376) 评论(2) 推荐(0)

摘要:SQL Server 2005得很多很增功能之一就是数据定义语言 (DDL) 触发器。在SQL Server 7.0和2000中,我们使用数据操作语言 (DML) 触发器,当INSERT,UPDATE或者DELETE语句被执行的时候执行一段SQL语句或存储过程,它们只能用于表或视图。 在SQL Server 2005中,我们可以在DDL语句上建立一个触发器来执行任何操作。触发器的作用范围可以是... 阅读全文

posted @ 2008-04-07 11:17 懒人ABC 阅读(884) 评论(0) 推荐(1)

摘要:当连接两张表时,用来关联的字段都不为空时,不会出现问题。但是假使其中一个连接字段可以为空,那么必须分开来处理。 select T1.A from T1 left outer join T2 on T1.A = T2.A => select T1.A from T1 left outer join T2 on (T1.A is null and T2.A is null) or (T1.A = T2... 阅读全文

posted @ 2008-01-04 14:49 懒人ABC 阅读(331) 评论(0) 推荐(0)

摘要:現象 Microsoft Windows Vista に SQL Server 2005 Express Edition SP1 をインストールする際、下記のエラー メッセージが表示されてインストールに失敗することがあります。なお、エラー メッセージ内に記載されているコンピュータ名と SQL Server インスタンス名は、お使いのコンピュータの環境および設定内容によって異なります。 ... 阅读全文

posted @ 2007-10-03 21:12 懒人ABC 阅读(329) 评论(0) 推荐(0)

摘要:通过Rank排名函数,可以很快地将查询出来的数据进行排名。 用法: select rank() over(order by item1,item2,item3) AS NO from table1 阅读全文

posted @ 2007-09-03 16:01 懒人ABC 阅读(1069) 评论(1) 推荐(0)

摘要:select t1.* ,t2.name from sys.dm_tran_locks t1 inner join sys.tables t2 on t1.resource_associated_entity_id = t2.object_id where resource_type = 'OBJECT' sys.dm_tran_locks:所有锁的信息 sys.tables:所有表的信息 ... 阅读全文

posted @ 2007-08-22 14:09 懒人ABC 阅读(533) 评论(0) 推荐(0)

摘要:现象: 在查询分析器里建立三个查询语句 begin tran select * from table1 with(tablock,updlock) 分别执行后, 在第一个查询分析器界面里面屏蔽掉原先的查询语句 然后写入 commit tran 这时第二个查询界面或者第三个查询界面将查询出乡瑶的数据,但是其中另外一个将出现死锁信息。 以下锁的机制:(源自www.aspxuexi.com ) ... 阅读全文

posted @ 2007-08-21 15:01 懒人ABC 阅读(1061) 评论(1) 推荐(0)

摘要:一般,我们通过 字段A is null 的格式来判定是否为空。但是这样对于复杂的,嵌套的计算里将变成一件费时费力的工作。因为MSSQL里,在字段A或者字段B为空的前提下 ,字段A + 字段B有可能为空。通过查找sql文档,发现有函数ISNULL(字段名,空时指定的代替值)可以解决以上的麻烦。 阅读全文

posted @ 2007-04-19 11:38 懒人ABC 阅读(656) 评论(0) 推荐(0)

摘要:当为一个表带有触发器,当插入一条记录之后,将这条记录中的几个项目一起插入到另外一个数据库的一张表中,没有任何问题; 但是如果把其他地方一样结构的表中的数据复制并且拷贝到这个带触发器的表中,发现每一条记录中的几个字段取的都是第一条记录的相关的值。 阅读全文

posted @ 2007-04-06 19:01 懒人ABC 阅读(567) 评论(0) 推荐(0)