SQL SERVER获取索引脚本 关于如何获取索引脚本的语句很多,上次在项目中需要去查询并获取索引脚本,所以写了一个简单的查询语句来进行获取。WITH idxcol AS ( SELECT i.object_id , i.index_id , OBJECT_NAME(i.object_id) AS objname
Bulk insert如何导入部分字段的数据 IF OBJECT_ID('Employee') IS NOT NULLDROP TABLE EmployeeGOCREATE TABLE Employee(Id int,Name VARCHAR(100),Designation VARCHAR(100))BULKINSERT EmployeeFROM 'D:\\Test.txt' --location with filenameWITH(F
一些有用的DMV ---查看数据库中正在运行的SQL语句的执行情况(包括执行计划和等待类型等等)SELECT sp.ecid, DB_NAME(sp.dbid) AS [Database], QP.query_plan, sp.nt_username, p.session_id , p.request_id , p.start_time , p.status , p.comm
---------------一个常见的项目中的问题(SQL SERVER和DB2)------------- 相信大家都应该会碰见这样的问题。求全年12月每个月每个单位的统计数量,为空的需要补全。也许表述得不是很清楚,下面把我的代码贴在这里就知道是怎么回事了SELECT B.UNITCODE,B.月份,ISNULL(A.上旬,0) AS 上旬,ISNULL(A.中旬,0) AS 中旬,ISNULL(A.下旬,0) AS 下旬FROM (SELECT UNITCODE, MONTH(O
---------------生成1-100数字的方法(包括SQL SERVER和DB2)---------- --1.whiledeclare @t table (id int)declare @i int set @i=1while @i<101begin insert into @t select @i set @i=@i+1endselect * from @t--2. gotodeclare @t1 table (id int)declare @j int set
-------------SQL SERVER与DB2统计信息与索引碎片整理--------------- 今年我的一个项目是用的DB2数据库。所以也学习了一把DB2数据库。本人学艺不精,遇到了很多困难。不过就我工作中使用DB2的感受而言,DB2对于统计信息和索引 碎片整理的使用频率比SQL SERVER的要高很多。所以现在我将两种数据库的相关内容都整理在这里,作为参考之用,对于高手来说,仅博一笑而已。对于SQL SERVER来说,统计指定表信息的查询方法如下:--查询指定表的统计信息(sys.stat
-----------查询数据库素数的N种方法(包括C#的)-------------- 最近在看C#方面的书,正好看到迭代器这块,里面有个查询素数的示例我觉得还不错,于是就想到SQL也来实现一把。其实有很多种方法,我大概列下下面。结果就只贴一个好了:方法1: 最简单粗暴的算法DECLARE @i INT , @j INT , @r INTSET @i = 2WHILE @i < 100 BEGIN SET @j = 1 S
-------------------------数字转换成EXCEL列名--------------------------------- alter function col_rev( @i_version int, -- Excel 版本号 @i_col int -- 字段号(数值表示) )returns varchar(20)asbegin declare @v_devide int; declare @v_mod int; declare @v_col int; declare
-------------------------断号查询------------------------------------- 有关断号查询的在论坛里面问的实在是太多了 在这里总结一下:--测试数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',2UNION ALL SELECT 'a',3UNION ALL SELECT 'a',6UNION ALL SELECT 'a',7UNION ALL SELECT 'a',8UNION
------OPENXML和MERGE联合使用的方法-------- 在这里我直接拿项目中的代码来说明问题。大家一下就看懂了。 Use LvRuiGoif object_ID('[cuGiftCatagroy]') is not null Drop Procedure [cuGiftCatagroy]Go/****************************************************************************
-------------------EXCEL按照格式循环批量导入数据库(续)----------------------------------------- IF OBJECT_ID('TB')IS NOT NULLDROP TABLE TBGOCREATE TABLE TB( ARRIVALAIRPORT NVARCHAR(4000), [MCTTIME] NVARCHAR(4000), MCTSTATUS NVARCHAR(4000), DEPARTUREAIRPORT NVARCHAR(400
------------------用SQL读取某目录下EXCEL文件的内容---------------- 首先声明,这个存储过程大部分是SQL77写出来的,哥这几天正研究快照隔离下OPENXML语句JOIN以后报错的问题,头大ING。。。 还好有屁7帮了我这个忙,不然累死。 思路非常简单,XP_CMDSHELL读取某一目录下的文件名称,然后游标遍历之,代码就在下面了 IF OBJECT_ID('P_EXCELFILETODATA') IS NOT NULLDROP PROC P_EXCELFILETO
------------------------获取所有存储过程的脚本------------------------------------ declare @proc_text varchar(max) DECLARE get_proc_text_cursor CURSOR FOR SELECT 'if object_id(N'''+ [name] +''') is not null drop proc ' + [name] + CHAR(10) + CHAR(13) + ' GO ' + CHAR(10) + C
-------------------------------循环数据库压缩日志文件--------------------------- --循环数据库压缩日志文件(假设日志文件fileid=2)create table #db(id int identity(1,1),name varchar(80),dbsize int,mdfsize int,ldfsize int)insert into #db select a.name,SUM(b.size)*8/1024 as 'dbsize[MB]', SUM(case when
---------------------------SQL之机选大乐透,双色球算法----------------------------- ----------大乐透--------------------if object_id('Front') is not nulldrop table Front gocreate table Front(id int ,Frontnumber int default 0 ,)if object_id('Back') is not nulldrop table B
----------------------SQLOS相关查询,SQLSERVER线程,调度器,工作任务---------------------- --SELECT * FROM SYS.dm_os_schedulers --SQL SERVER的每个调度器--select affinity from sys.dm_os_workers --SQL SERVER的每个工作任务--select * from sys.dm_os_threads --在SQL SERVER进程中的所有SQLOS线程列表--select * from sys.dm_
------------------------MSSQL中排列组合的实现------------------------------------ --排列组合 --执行方法:exec [Arrange] '1,2,3'--input:1,2,3--output:--1 --2 --3 --1,2 --1,3 --2,3 --1,2,3Create PROCEDURE [dbo].[Arrange] @input varchar(100)ASBEGIN SET NOCOUNT ON if(len(@input)
--------------------------------------MYSQL批量修改字段类型--------------------------------- SELECT CONCAT('alter table ',table_name,' ALTER COLUMN ',column_name,' SET DEFAULT NULL;') as col ,TABLE_NAME,COLUMN_NAME,DATA_TYPEFROM INFORMATION_SCHEMA.columns aWHERETABLE_SCHEMA='TEST' -- 代表所在的数据库
----------------------------------查询SQL SERVER 服务启动时间----------------------- Create Table #errorlog (LogDate datetime,ProcessInfo varchar(max),Text nvarchar(max))INSERT Into #errorlog Exec Master..xp_readerrorlogSELECT LogDate FROM #errorlog WHERE Text Like '%SQL Server is St
---------------------------谨以此文献给我的2011----------------------------------- 2011年就快过去了,回首我的2011,有收获,也有失落,有胜利,也有失败。有高兴的事情,也有很多不高兴的事情。如果说往事不堪回首来总结的话,未免有点太过于丧气。从三月开始找工作,到找到工作,开始工作,始终心神不定。反反复复中,总算找到现在的公司,总算有那么一点安定的感觉。然而时间却如流水一般,就这么的逝去了。很多的时候有那种“少壮不努力,老大徒伤悲”的感觉。或许是年龄也不小了,有的时候还发誓明天