随笔分类 -  sql

摘要:where vs having当一个sql语句中存在where子句,会先执行where,然后执行group by,然后执行having.一般来说,only use 'having' when you use 'group by'Always use 'having' with aggregate f... 阅读全文
posted @ 2014-06-29 13:49 门对夕阳 阅读(317) 评论(0) 推荐(0)
摘要:建议使用SCOPE_IDENTITY() 而不是@@IDENTITY。用法:select @insertID = SCOPE_IDENTITY()网友建议:因此,对于这种情况,建议大家慎用 @@IDENTITY,而尽量采用SCOPE_IDENTITY()函数替换之。SCOPE_IDENTITY() 也是得到最后一条自增域的值,但是它是仅限在一个操作范围之内,而不@@IDENTITY 是取全局操作的最后一步操作所产生的自增域的值的。@SCOPE_IDENTITY()的官方解释:返回插入到同一作用域中的标识列内的最后一个标识值。一个范围是一个模块:存储过程、触发器、函数或批处理。因此,如果两个语句 阅读全文
posted @ 2013-03-26 18:56 门对夕阳 阅读(565) 评论(0) 推荐(0)
摘要:-- =============================================-- Author: <Author,,LY>-- Create date: <Create Date>-- Description: <Description, 改变订单的签收时间 >-- 测试通过-- =============================================ALTER PROCEDURE [dbo].[CHANGE_RECEIVE_ORDER_TIME](@order_id int,@rtime datetime,@recei 阅读全文
posted @ 2013-03-26 16:57 门对夕阳 阅读(445) 评论(0) 推荐(0)
摘要:USE [Traceability]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: <Author,,>-- Create date: <Create Date>-- Description: <Description, >-- -- =============================================CREATE PROCEDURE [dbo].[]()asbeginend 阅读全文
posted @ 2013-01-25 13:16 门对夕阳 阅读(776) 评论(0) 推荐(0)
摘要:第一点,只有select类型的sql sever的存储过程需要一个返回参数,Insert, Update, Delete类型的存储过程不需要多余的参数,只加上与业务逻辑相关的参数即可。因为上层用SqlCommand类调用ExecuteNonQuery()的时候是返回一个int类型的值的,即是受影响的行数。如果这个值大于0,说明存储过程执行成功了,反之可以判断出执行失败了。另一点,最好把select类和(Insert, Update, Delete类型)的语句分割为两个存储过程,不要一个存储过程里面,既有update table,又有select结果集。SqlCommand.ExecuteNon 阅读全文
posted @ 2013-01-23 17:20 门对夕阳 阅读(213) 评论(0) 推荐(0)
摘要:正确格式为select from (select from) tt是临时表 阅读全文
posted @ 2013-01-16 18:17 门对夕阳 阅读(211) 评论(0) 推荐(0)