SQL Server
骆驼绵羊
不像程序猿的猿
展开
-
SQL 利用存储过程实现对表数据有则更新无则添加
如果某一操作包含大量的T-SQL语句代码,分别被多次执行,那么存储过程要比批处理的执行速度快得多。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的存储计划。而批处理的T-SQL语句每次运行都需要预编译和优化,所以速度就要慢一些。如题: 表结构和基础数据如图所示:新建存储过程:inser原创 2016-07-24 11:33:03 · 5632 阅读 · 0 评论 -
SQL Server的学习记录(未完)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Threading;namespace sqltest{ class Program { static v原创 2016-08-31 19:42:09 · 293 阅读 · 1 评论 -
视图和表
数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据。因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立的一个对象。转载 2016-09-08 20:13:14 · 377 阅读 · 0 评论 -
在一个千万级的数据库查寻中,如何提高查询效率
1)数据库设计方面: a.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num isnull 可以在num上设置默认值0,确保表中num列没有nul转载 2016-09-08 20:17:07 · 447 阅读 · 0 评论 -
使用触发器一次性修改多条记录
要注意:触发器的触发是操作,而不是针对行记录,这也是为什么我一次删除、新增很多数据时结果只有一条记录被触发出来,在面对一条sql语句删除了、新增了多条记录时需要使用游标进行操作SQL Server场景:三张表 On_Duty,On_Duty_Future,On_Duty_History1在On_Duty中删除一条记录,就把数据插入到另外两张表中,数据库语句如下:create原创 2016-12-15 22:02:22 · 3055 阅读 · 0 评论 -
sql分组按时间查询最近的一条
select t.* from (select * ,row_number() over (partition by FID order by SW_MEASURE_TME desc) as rn from SWLSDTJC) t where rn DATEADD(HOUR,-2,GETDATE())分组查询最近两个小时内最近的一条记录原创 2017-01-11 15:33:37 · 3281 阅读 · 0 评论