代码如下,看了就明白:--添加项目大类存储过程use chaiqianD2goif object_id('p_InsertBigType', 'p') is not nulldrop procedure p_InsertBigTypegocreate procedure p_InsertBigTyp...
分类:
数据库 时间:
2014-11-23 23:03:02
阅读次数:
208
--模拟数据--员工计件明细表IF OBJECT_ID('tempdb..#emp')>0DROP TABLE #empSELECT * INTO #empFROM (SELECT '586' empcode ,'2014-10-21' opdate , 0.1 gaoduUNION ALLSELE...
分类:
其他好文 时间:
2014-11-23 00:28:57
阅读次数:
219
今天看到一条SQL大量使用了with,开发人员为了逻辑清晰,把一些结果集先用with缓存起来,后面还有很多地方用到这个结果集,原始的SQL需要执行2个多小时。优化方法是将把最先缓存的SQL放到用的地方,优化后12s。
下面来模拟这个场景,不用纠结SQL的意义,把当时的SQL抽象就是这样的。可以看到SQL1中先把语句a中的结果缓存起来,当语句b要用的时候,object_id是用不到的,它只...
分类:
数据库 时间:
2014-11-20 20:26:38
阅读次数:
308
tempdb: 这个是sql server 中的临时db,可以在里面声明临时的表 (#tablename),用完临时表之后要销毁,object_id(object name,object type):这个函数是sql serve 内置的,用于查找制定对象的对象ID,第一个参数是对象名称,第二个是对象...
分类:
数据库 时间:
2014-11-20 13:21:11
阅读次数:
207
创建触发器 语法create trigger tgr_nameon table_namewith encrypion –加密触发器 for update...as Transact-SQL # 创建insert类型触发器--创建insert插入类型触发器if (object_id('tg...
分类:
其他好文 时间:
2014-11-19 23:57:53
阅读次数:
629
原文:SQL SERVER 2005 获取表的所有索引信息以及删除和新建语句
BEGIN WITH tx AS ( SELECT a.object_id ,b.name AS schema_name ,a.name AS table_name ...
分类:
数据库 时间:
2014-11-14 20:59:22
阅读次数:
233
create proc dtLink(@dbName varchar(50) --数据库名称)as--查询临时表是否存在if(OBJECT_ID('temp..db') is not null)begin drop table #TempTableend--创建临时表create table ...
分类:
数据库 时间:
2014-11-14 14:14:59
阅读次数:
132
原文:【SQL】统计所有表的行数环境:mssql ent 2k8 r2
原理:遍历所有用户表,用sp_spaceused过程分别获取每张表的行数并写入临时表,最后返回临时表 IF OBJECT_ID('tempdb..#TableRowCount','U') IS NOT NULL DROP TAB...
分类:
数据库 时间:
2014-11-13 22:20:46
阅读次数:
206
原文:【SQL】找出行数与自增标识值不相等的表(即有缺行)环境:mssql ent 2k8 r2
原理:遍历所有含自增列的用户表,用sp_spaceused过程分别获取每张表的行数并写入临时表,然后使用IDENT_CURRENT函数获取表的最大标识值,比较二者并返回结果 IF OBJECT_ID('...
分类:
数据库 时间:
2014-11-13 22:02:28
阅读次数:
210
-- 将多行记录(只能一个列)用指定分隔符分隔IF(OBJECT_ID('sp_RowsChangeClosBySplit',N'P') IS NOT NULL) DROP PROC sp_RowsChangeClosBySplitGOCREATE PROC sp_RowsChangeClos...
分类:
数据库 时间:
2014-11-11 16:25:53
阅读次数:
278