随笔分类 -  sql server

1

SQL SERVER:一条SQL语句插入多条记录等
摘要:在学习排名第二的mySql过程中,发现它的插入语句可以这样写:use test;create table fruits( fid char(10) not null ,s_id int null ,f_name varchar(100) ,f_price decimal(8,2) ,primary ... 阅读全文

posted @ 2014-07-08 22:11 左直拳 阅读(976) 评论(0) 推荐(0)

EF:插入记录失败,提示当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
摘要:EF忽然报错:增加记录时,提示当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '。。。' 中的标识列插入显式值。真奇怪,添加记录方法一向好地地,从没出过错。要出错,那也是Update时才会,什么“附着不附着”的问题。从提示信息来看,是向标识列插入了值。那么EF为什么会认不出标识列呢... 阅读全文

posted @ 2014-07-03 18:56 左直拳 阅读(593) 评论(0) 推荐(0)

SQL SERVER学习笔记:临时表与表变量
摘要:本文主要摘自徐海蔚的《Microsoft SQL SERVER企业级平台管理实践》表变量可以作为存储过程的返回参数,而临时表不行。(存疑?表值参数只在SQL SERVER2008才开始支持,并且限制很多,要首先定义表类型)use [test]gocreate type [user] as table... 阅读全文

posted @ 2014-06-24 22:25 左直拳 阅读(227) 评论(0) 推荐(0)

Openfire 配置连接SQL SERVER(非默认实例)
摘要:安装好Openfire之后,紧接着进行配置。连接数据库的时候遇上问题。打算用我本机上的一个SQL SERVER做为数据库。但是,我本机装了几个SQL SERVER实例,现在我打算使用的是那个非默认实例。众所周知,访问SQL SERVER的非默认实例,要指明实例名,用studio management... 阅读全文

posted @ 2014-06-04 22:00 左直拳 阅读(156) 评论(0) 推荐(0)

一条SQL语句求前面记录的平均值
摘要:有算法要求如下:For (i=1,i=b.id group by a.id)update @ta set da=w.avfrom @ta a inner join w on a.id=w.id;=================================================但是这种... 阅读全文

posted @ 2014-05-13 21:32 左直拳 阅读(2991) 评论(0) 推荐(0)

一些求数据库对象的SQL语句
摘要:use [mydb]go--存储过程SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_type='PROCEDURE'AND SPECIFIC_NAME LIKE '...%'ORDER BY CREATED;--自定义函数SELECT ... 阅读全文

posted @ 2014-04-30 22:08 左直拳 阅读(175) 评论(0) 推荐(0)

存储过程性能优化
摘要:近期为某项目组写存储过程进行一些较为复杂的计算。存储过程,在性能上,主要是节省了编译的时间,除此而外,似乎并没有什么优势。相反,它语法比较弱,写起来不够方便,甚至对面向过程编程也支持得很不好。所以在写这些存储过程的时候,我一度想写成CLR存储过程。我写的这些存储过程,是根据别人给出的算法(伪码)来写... 阅读全文

posted @ 2014-04-30 22:05 左直拳 阅读(1429) 评论(0) 推荐(1)

一条SQL语句求每月连续低温时间
摘要:近期为某个项目写存储过程做统计。其中有个是这样的:求每个月至少连续3个小时低于某个温度值的时间(小时)。假设有个全年温度表:CREATE TABLE #t(m INT, h INT ,t DECIMAL(18,4));--m:月份 h:小时 t:温度值 --一年有8760小时,因此气候表里面有87... 阅读全文

posted @ 2014-04-29 21:32 左直拳 阅读(306) 评论(0) 推荐(0)

一条SQL语句求全年平均值
摘要:一年有8760个小时!(才这么点。。。)有个气候表,存储了当地从1到8760小时的温度数据。现在,要求全年的温度每天平均值。CREATE TABLE #Climate(h INT ,t DECIMAL(18,4));--h:小时 t:温度值--里面有8760条记录,对应全年每小时的温度值--现在,想... 阅读全文

posted @ 2014-04-28 22:44 左直拳 阅读(1026) 评论(0) 推荐(0)

用sp_executesql执行动态SQL语句及获得返回值
摘要:过去我执行拼凑出来的动态SQL语句,都直接使用EXEC @sql 的方式。有好几次,都看到有资料说,应该尽量使用 sp_executesql。究其原因,是因为仅仅参数不同的情况下,sp_executesql可以重用执行计划,这不就有跟存储过程一样的优势了吗?同时,sp_executesql还可以提供... 阅读全文

posted @ 2014-04-28 22:08 左直拳 阅读(372) 评论(0) 推荐(0)

SQL SERVER的整型运算,让人大吃一惊
摘要:SQL SERVER的整型运算,让人大吃一惊好比下面代码:DECLARE @i INT = 50;DECLARE @dec DECIMAL(18,4);SET @dec = @i / 100;SELECT @dec;结果 @dec = 0.0000 !我靠,这是什么逻辑。将代码换成这个就正确:DEC... 阅读全文

posted @ 2014-04-22 15:43 左直拳 阅读(343) 评论(0) 推荐(0)

为什么复合索引第一个字段如此重要
摘要:假如建的非聚集索引是复合索引,第一个字段至为重要。为什么如此重要?因为统计信息统计信息只在非聚集索引上的第一个字段上进行,意味著选择索引与否,选择哪个索引,都与这个第一字段息息相关。数据库的系统统计信息,是执行计划的依据。这么说,建复合索引,还不如建包含列? 阅读全文

posted @ 2014-03-27 15:47 左直拳 阅读(237) 评论(0) 推荐(0)

动态设置表结构方案(二)
摘要:承接(一)CREATE TRIGGER [dbo].[trgUpd] ON [dbo].[bigtable] AFTER UPDATEAS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfer... 阅读全文

posted @ 2014-03-26 20:59 左直拳 阅读(227) 评论(0) 推荐(0)

为文本数据创建索引
摘要:比较长的文本字段,比如存储URL的字段,可能类型为VARCHAR(300),如果要对这个字段建立非聚集索引,由于非聚集索引本身存储了索引字段的值,所以这个索引一定也比较大。耗费存储空间、内存空间不说,比较的性能也好不到哪里去。对于这种情况,可以使用CheckSum方法创建该字段的计算列,然后为此计算... 阅读全文

posted @ 2014-03-19 18:35 左直拳 阅读(442) 评论(0) 推荐(0)

学习笔记——DISTINCT
摘要:DISTINCT印象中向来被人诟病,说它效率低下。但网上那些SQL 面试题答案,却时有用之。其中 COUNT(DISTINCT 句式,我以前很少用,这里做个笔记。为管理岗位业务培训信息,建立3个表:S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄C ... 阅读全文

posted @ 2014-03-13 17:08 左直拳 阅读(216) 评论(0) 推荐(0)

一条SQL面试题
摘要:求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID例如:6,7,8,9,10条记录均符合ID 主叫号码 被叫号码通话起始时间通话结束时间通话时长198290000 0215466546656 2007-02-01 09:49:53.000 2007-02-01 09:50:16.000 ... 阅读全文

posted @ 2014-03-13 16:28 左直拳 阅读(210) 评论(0) 推荐(0)

学习笔记—— 一些UPDATE语句
摘要:UPDATE语句原来还有许多种写法,有的还很复杂,孤陋寡闻的我甚至闻所未闻。幸甚至哉,记而志之。0、UPDATE 表名 SET 字段。。。 FROM 。。。的方式USE AdventureWorks2012;GOUPDATE Production.ScrapReasonSET Name += ' -... 阅读全文

posted @ 2014-03-12 16:41 左直拳 阅读(468) 评论(0) 推荐(0)

好记性不如烂笔头——DML/DDL/DCL/TCL,OLTP/OLAP
摘要:DML:数据操作语言,就是增删改之类的语句DDL:数据定义语言,创建、修改、删除表等ALTER 语句 (Transact-SQL)CREATE 语句 (Transact-SQL)DISABLE TRIGGER (Transact-SQL)DROP 语句 (Transact-SQL)ENABLE TR... 阅读全文

posted @ 2014-03-12 11:56 左直拳 阅读(222) 评论(0) 推荐(0)

学习笔记——SQL SERVER的递归
摘要:SQL SERVER似乎天然具有支持递归的属性。1、比如说,有几次,我编写或修改存储过程的时候,为图方便,在末尾随手写上 执行这个存储过程 的语句,比如[sql]view plaincopyALTERPROCEDUREprd_GetData@TopINT=10;ASSELECT*FROM[dbo].... 阅读全文

posted @ 2014-03-10 18:21 左直拳 阅读(294) 评论(0) 推荐(0)

学习笔记——SQL SERVER2014内存数据库
摘要:sql server2014支持内存数据库功能。内存可以说是数据库性能的生命线。理论上,如果内存足够,SQL SERVER可以将所有的数据都装载到内存里,访问、修改什么的,都在内存中进行,只有在checkpoint的时候才写回硬盘。只有内存不够,数据库才会被迫经常Lazy Write,换页。那么,内... 阅读全文

posted @ 2014-03-10 17:16 左直拳 阅读(354) 评论(0) 推荐(0)

1

导航