自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 SQL生成n位随机字符串

--1、借助newid() go --创建视图(因为在函数中无法直接使用newid()) create view vnewid as select newid() N'MacoId'; go --创建函数 create function getrandstr(@n int) returns varchar(max) as begin decla

2014-09-30 12:44:21 5959

原创 sql常用作业定义的T-SQL模板

--定义创建作业DECLARE @jobid uniqueidentifierEXEC msdb.dbo.sp_add_job @job_name = N'作业名称', @job_id = @jobid OUTPUT --定义作业步骤DECLARE @sql nvarchar(400),@dbname sysnameSELECT @dbname=DB_N

2014-09-29 11:43:35 1332

原创 比较两个数据库中的视图/存储过程的结构(结构比较,不是功能比较)

CREATE PROC P_COMPDB@DB1 SYSNAME, --第一个库@DB2 SYSNAME --第二个库ASEXEC('SELECT 类型=CASE ISNULL(A.XTYPE,B.XTYPE) WHEN ''V'' THEN ''视图'' ELSE ''存储过程'' END ,匹配情况=CASE WHEN A.NAME

2014-09-29 11:42:07 789

原创 sql分级汇总

--测试数据create table tb([DB-ID] varchar(10),ENTITY varchar(10),DATE varchar(10),[CUST-NO] int,AMOUNT decimal(10,2),TAX decimal(10,2))insert tb select 'RCHQ','001','2004-11-10',200000,100.00,17.00u

2014-09-29 11:30:08 1987

原创 生成索引信息及索引创建脚本

create proc p_helpindex @tbname sysname ='' ,@type char(1) = '1'as--生成索引信息及索引创建脚本--@tbname 表名,空返回所有表索引--@type 是否显示聚集索引,1显示聚集索引,2不显示聚集索引--调用:p_helpindex 'dbo.customers','1'with t as (select r

2014-09-25 17:28:22 1541

原创 update值与原值相同时,SQL Server会真的去update还是忽略呢?

考虑下面的情况:当update值与原值相同时,SQL Server会真的去update还是忽略?例如:update tbnameset name='abc' --name原来的值就是abcwhere id=1再如:update tbnameset name='abc' --name原来的值就是abcwhere name='abc'接下来我

2014-09-25 17:09:55 2073

原创 是什么引起执行计划变得极其糟糕? 应该使用更新统计信息来解决它吗?

考虑这种情况:在大多数时间里你的存储过程运行良好,但是有时非常差,性能仿佛从天下掉到地下,有人会说肯定是统计信息更新不及时,而且当你手动运行它并查看执行计划,你会发现预估行数和实际行数有很大差距,你会因此而确定是统计信息不准确造成执行计划生成不正确。但是,可能并不是。。。存储过程、使用sp_executesql的参数化语句、预编译的SQL语句都会重用一个缓存的执行计划,它是

2014-09-25 17:05:13 829

原创 Group by ALL

Group by ALL 。和不加ALL差别就是加了ALL后包含所有组和结果集,甚至包含那些其中任何行都不满足 WHERE 子句指定的搜索条件的组和结果集。注意的是指定了 ALL,将对组中不满足搜索条件的汇总列返回空值。declare @t table(id int,col char(2))insert @t select 1,'a'insert @t select 1,'a'inser

2014-09-25 13:41:23 1786 1

原创 SQL四个排名函数的区别

/*四个排名函数的区别:RANK()返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。 DENSE_RANK()返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。如果有两个或多个行受同一个分区中排名的约束,则每个约束行将接收相同的排名。 ROW_NUMBER()

2014-09-24 14:27:29 1435

原创 sql日期补全

IF OBJECT_ID('TBL')IS NOT NULLDROP TABLE TBLGOCREATE TABLE TBL(日期 DATE)GOINSERT TBLSELECT '2014-09-30' UNION ALLSELECT '2014-10-06'goDECLARE @DATE DATESELECT @DATE=MAX(日期) FROM TBL;WITH

2014-09-23 11:14:42 2288

原创 快速生成数据库字典

快速生成数据库字典

2014-09-12 14:59:58 2560

原创 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询

top 100 percent

2014-09-12 14:54:55 5162

原创 快速生成100W数据

declare @d datetimeset @d=getdate()select * from dbo.ChunkSegmentMappingselect [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())USE tempdbGOCREATE TABLE tb(id char(8))CREATE UNIQUE INDEX IX_tb ON tb(id

2014-09-12 14:54:39 1006

原创 SQL检查存储过程是否包含关键字

SELECT A.NAME FROM SYS.ALL_OBJECTS A,SYS.SQL_MODULES B WHERE A.IS_MS_SHIPPED=0 AND A.OBJECT_ID = B.OBJECT_ID AND A.[TYPE] IN ('P','V','AF') AND [DEFINITION] LIKE '% %'--存储过程包含的关键字ORDER BY A.[NAME]

2014-09-11 09:09:38 1881

原创 SQL使用递归实现数据的累加

--关于递归累计求和 if OBJECT_ID('test')is not null drop table test go create table test( id int identity(1,1), deptid char(3), empid char(4), salary int ) go insert test(deptid,empid,sala

2014-09-01 18:07:00 1941

原创 CTE 通用表表达式

概念:Common Table Expression,简称CTE,中文可以叫做,通用表表达式. 用处:处理以前版本中SQL不好现实,不好理解,复杂的查询问题.比如:分页,递归查询... 基本用法: WITH ()AS() SELECT * FROM 示例一(基本用法): with MyCTE(ID, Name)as( select

2014-09-01 17:54:32 812

原创 SQL SERVER 表结构信息查询(详细)

SELECT 表名=CASE WHEN a.colorder = 1 THEN d.name ELSE '' END, 表说明=CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END , 字段序号=a.colorder , 字段名=a.name , 标识=CASE WHEN COLUMNPR

2014-09-01 17:36:58 782

原创 SQL合并统一数据(相同的在一行显示)

/*问题描述表Library有字段 表EmployeeInfo 字段LibraryId EmpIdEmpIdLibraryTitleLibraryOwner Name测试表Library数据为insert into Library(EmpId,LibraryTitle,Nam

2014-09-01 17:27:37 3726

原创 SQL使用apply进行拆分列值

--SQL2005以上版本可以结合apply进行拆分列值IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tbGOCREATE TABLE tb (id INT,col VARCHAR(30))INSERT INTO tb VALUES(1,'aa,bb')INSERT INTO tb VALUES(2,'aaa,bbb,ccc')GO S

2014-09-01 17:22:03 696

原创 SQL查询和删除重复记录

--处理表重复记录(查询和删除)/******************************************************************************************************************************************************1、Num、Name相同的重复值记录,没有大小关系只保留一条

2014-09-01 16:46:29 1232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除