- 博客(33)
- 资源 (7)
- 收藏
- 关注
原创 SSSI导EXCEL数据常见问题一
在使用SQL SERVER将EXCEL导入到数据库中的时候.经常会发生一些问题.会让我们有些感觉到莫名其妙.今天在论坛上.一个朋友在使用SSIS将EXCEL导入到SQL SERVER的数据库内的时候.发生了这个错误:Excel 源 [1]] 错误: 输出“Excel 源输出”(9) 上的输出列“Description 3”(546) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在
2009-09-15 17:10:00 4994 2
原创 非聚集索引与ORDER BY排序的问题
写写如果SELECT列表中,使用*和不使用*的索引使用情况,如果错了,希望各位改正。例子以Northwind.dbo.Orders表为例,因为对这个表比较熟悉。先创建出示例数据库:CREATE DATABASE Test;GOUSE TestGO--将Northwind.dbo.Orders表的数据导到我们的测试数据库当中.SELECT * INTO dbo.Orders FROM Northw
2009-09-11 15:22:00 2847 2
原创 SQL 2005 + CLR 压缩文件夹
//新建一个数据库项目,并新建一个类.Compress.cs文件内容如下:using System;using System.IO;using System.IO.Compression;using System.Text;using System.Collections; namespace CompressProject{ public class
2009-07-13 11:23:00 1792 1
原创 每N条记录一个Worksheet,导出同一个Workbook中
/*Author : 梁嘉辉Date : 2009-06-15Function : 分Sheet导出同一Excel工作薄Comment : 使用或转载请保留此信息*/ ---------------------------------------------------------------------创建存储过程-
2009-06-16 20:09:00 2370 1
原创 SQL SERVER连接MySQL
-- MySQL mysql> create table tb(id int,data varchar(20), chs_data varchar(50) character set gbk) character set latin1;Query OK, 0 rows affected (0.09 sec) mysql> insert into
2009-06-10 21:41:00 2870 2
原创 导出数据库的视图,函数,存储过程以前触发器
CREATE PROC dbo.usp_OutObjects @dbname sysname, @Path NVARCHAR(1024)ASBEGIN DECLARE @viewPath NVARCHAR(1024), @functionPath NVARCHAR(1024), @procedurePat
2009-04-19 18:57:00 3082 2
原创 重写ISNUMERIC函数
declare @test table(strings varchar(50)) Insert into @test Select 12d3 union all Select 87234.45 union all Select $123,456.00 union all Select 12 union all Select c
2009-03-05 14:07:00 1931
原创 字符串中数据的运算和统计
问题:数据表如下 cate values dates A1 12.32,15.6,14.5,45.00,78.12,23.45 2006-04-01 A2 14.56,67.23,45.12,23.1,34.67,56.98
2009-02-21 18:11:00 1987 2
原创 树形结构分析汇总
t1id parentidm an ae mf mx fy fz b t2row id amount1 a 13.002 b 20.003 e 20.004 f 20.005 x 20.006 y
2009-02-17 19:13:00 2031 2
原创 关于一个分级汇总
关于一个分级汇总的问题.. 有多少级是不确定的, ID PID Name 1 null A 2 1 B 3 1 C 4 3 D 5 4 E : : : 要求结果为: ID Name1 Name2 Name3 Name4 .... 1 A 2 A B 3 A C 4
2009-02-17 17:42:00 1738
转载 SQL Server 2005分区表——分区切换
本文演示了SQL Server 2005 分区表分区切换的三种形式:1. 切换分区表的一个分区到普通数据表中:Partition to Table;2. 切换普通表数据到分区表的一个分区中:Table to Partition;3. 切换分区表的分区到另一分区表:Partition to Partition。并指出了在分区表分区切换过程中的注意事项。 -- 创建分区函数create p
2009-01-08 12:37:00 4266
原创 sql 返回xml问题
问题描述: 有一表tbl 如下: col1 col2 col4 ---- -------------------- ---------------------- a 1,2,3,4,5 .net,c#,delph,java,c++ b 4,6 java,J# 我要查询全部返回xml 结果集:
2009-01-03 18:23:00 1989
原创 SSIS压缩文件并以邮件附件发送
PS: 1.由于本文使用了msdb..sp_send_dbmail发送邮件.所以应先对数据库邮件进行配置. 2.在压缩文件时,使用了7-Zip进行压缩,所以请到http://www.7-zip.org/下载该压缩工具,由于该压缩工具基于 GNU LGPL 许可协议,所以可自由使用.下载完.安装到E:/7-Zip/ 由于本文使用的是这个路径,所以可以自行设置路径.并在以下使用到7z.exe时
2008-12-10 19:16:00 2352
原创 SQL Server XML应用实例
/* Author: liangCK 小梁 Date : 2008-11-19*/ 示例一: 如在一个10/20/30/50/40/90的字符串当中.需要得到前N个”/”的字串,或得到前N个”/”的和.如上的字符串.如果得到前3个”/”的字符串.也就是10/20/30/,要得到前3个”/”的数的和,就是60.这样的操作在以前通常会写一个函数,然后循环记数得到
2008-11-19 15:23:00 2477 1
原创 SQL Express自动备份
--第一步--在master库中建立一个备份数据库的存储过程.USE master GOCREATE PROC p @db_name sysname, --数据库名 @bk_path NVARCHAR(1024) --备份文件的路径 AS IF ISNULL(@db_name,)=
2008-11-16 15:53:00 5586 10
原创 查每个分组前N条记录
----------------------------------- Author: liangCK 小梁-- Title : 查每个分组前N条记录-- Date : 2008-11-13 17:19:23--------------------------------- --> 生成测试数据: #TIF OBJECT_ID(tempdb.dbo.#T
2008-11-13 17:35:00 2196 2
原创 批量导出存储过程
--问题描述: 将某个数据库下的所有存储过程生成一个对应名称的脚本文件. CREATE PROC p @dbname sysname, --数据库名 @bkpath nvarchar(1024)=D:/ --生成脚本的路径名AS IF ISNULL(@dbname,)= --传入的@dbname参数为空时,表示生成
2008-11-07 19:47:00 3357
原创 TRIM字符串的指定的头尾字符
CREATE FUNCTION dbo.trimChar(@char VARCHAR(5),@str VARCHAR(50)) RETURNS VARCHAR(50) AS BEGIN DECLARE @RE VARCHAR(50), @TEMP VARCHAR(50), @i INT;
2008-10-22 14:35:00 1394
转载 利用Log Explorer将你已经delete,truncate,drop过的数据进行恢复
原地址: http://blog.csdn.net/jiangopen/archive/2004/07/14/41684.aspx作者:jiangopen 了解数据库的人都知道,数据库的日志记录了我们所有对数据库的操作动作,正是有了日志才使得事务的回滚成为可能。也就是说日志可以让所有的动作可逆,尽管我们知道这个原理,但是很少有人去分析sqlserver的日志,然后生成逆向的脚本,将已经执行
2008-10-21 17:11:00 1607
原创 全文索引同义词搜索没作用的问题
--显示版本信息SELECT @@VERSION;GOCREATE TABLE FullText_Test( ID int IDENTITY(1,1), DATA nvarchar(max), --如果这里使用varchar(max),下面的插入也不带N,那CONTAINS得不到任何记录 CONSTRAINT PK_ID_FullText_Test PRIMARY KEY(
2008-10-17 10:05:00 2108 1
原创 一个行转列的应用
--> liangCK小梁 于2008-10-15--> 生成测试数据: #T IF OBJECT_ID(tempdb.dbo.#T) IS NOT NULL DROP TABLE #TCREATE TABLE #T (id INT,姓名 VARCHAR(4),类别 VARCHAR(1),单位 VARCHAR(6))INSERT INTO #TSELECT 1,
2008-10-15 20:34:00 1550
原创 sql语句面试题(城市人口统计)
问题描述: 城市表 【城市】 北京 上海 天津 人口表: 【性别】【城市】 【人口】 男 浙江 100 女 北京 500 男 上海 120 女 深圳 50 女 浙江 52 男 北京 45 女 上海 180 男 深圳 254 未知 上海 20 希望查询结果: 【性别】【北京】 【上海】 【天津】 【其他】 全部 545 320 0 456 男 45 120 0 354 女 500 180
2008-10-11 12:43:00 2398 4
原创 SQL 2005加密数据方法
--Author: liangCK 小梁 --示例一,使用证书加密数据. --建立测试数据表 CREATE TABLE tb(ID int IDENTITY(1,1),data varbinary(8000)); GO --建立证书一,该证书使用数据库主密钥来加密 CREATE CERTIFICATE Cert_Demo1 WITH SUBJ
2008-10-10 17:16:00 4130 1
原创 SSIS遍历记录发送邮件
刚刚在technet上看了SSIS在执行 SQL 任务中使用结果集的介绍(原文地址: http://technet.microsoft.com/zh-cn/office/cc280492.aspx).就弄了这个东西出来.循环表中所有记录.并发送邮件. 注意:由于我发送邮件使用了msdb..sp_send_dbmail存储过程发送Database Mail.所以需要在SQLServer Manage
2008-10-09 14:09:00 3271 4
原创 50个常用sql语句
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“”课程比“”课程成绩高的所有学生的学号; SELECT a.S# FROM (SELECT s#,score
2008-10-08 10:14:00 10048 4
原创 SQL 2005修改系统表
SQL 2005 修改系统表方法。 在 SQL Server 2000 中修改系统表的方法大部分人都知道,介绍如何在 SQL 2005 中修改系统表的资料目前还比较少,虽然微软不赞成修改系统表,而且也把修改系统表的代码隐藏起来了。但微软一贯喜欢给自己留个小后门。我是这么想的:最先知道如何修改 SQL 2005 系统表的人只有微软 SQL Server 2005 的设计、开发者。于是就到
2008-10-07 16:23:00 7191
转载 写有效率的SQL查询(V)
先站在应用程序的角度说说它们的不同。1、 直接拼SQL就像大家了解的那样,直接拼SQL带来了SQL注入攻击,带来了拼时些许的性能损失,但是拼不用添加SqlParameter,会少写很多代码——很多人喜欢直接拼,也许就因为这点。这种做法会把你拼好的SQL原样直接发送到DB服务器去执行。(注意类似”exec yourproc ‘param1’, 12”的语句不在此范畴,这是调用存储过
2008-07-21 21:58:00 1305
转载 写有效率的SQL查询(VI)
我们先看NestedLoop和MergeJoin的算法(以下为引用,见RicCC的《通往性能优化的天堂-地狱 JOIN方法说明》):==================================NestedLoop: foreach rowA in tableA where tableA.col2=? { search rowsB from tableB where
2008-07-21 21:58:00 1297
转载 写有效率的SQL查询(IV)
本文主要介绍写SQL的另外两个误区:1、 存储过程中使用局部变量而不使用参数变量(就是存储过程输入参数)做where条件2、 查询条件中类型不匹配这两种错误都是非常非常容易犯且非常发指的错误,特别是2,太多次见过了。 一、关于存储过程使用局部变量,我们举例说明。有这么一张表存储过程:create proc test( @id int)as
2008-07-21 21:57:00 1096
转载 写有效率的SQL查询(III)
先说说这些误区。所谓“误区”,有一些是新手很容易犯的错误或者很容易忽略的问题,另外一些,则是像“耗子吃了盐会变成蝙蝠”一样,让我们从小就认为是正确的事情。如下:1、 表上不管用得着用不着,都加个聚集索引。我们知道,表以两种方式组织物理存储:有聚集索引的“聚集表”;没有聚集索引的“堆”。在聚集表中,数据行按照聚集索引的顺序存储(这也是为啥一张表最多只能有一个聚集索引的原因);堆
2008-07-21 21:56:00 1113 1
转载 写有效率的SQL查询(II)
上回我们说到评估一条语句执行效率主要看逻辑IO(啥是逻辑IO,啥是物理IO见联机文档),这次我们继续。我们先说说,返回多行结果时,为什么SQLServer有时会选择index seek,有时会选择index scan。以nonclustered index为例说明。像所有的索引B树一样,非聚集索引树也包括完全由索引数据组成的根节点和中间级节点;但是和聚集索引树不同的是,聚集索引
2008-07-21 21:55:00 1174
转载 写有效率的SQL查询(I)
大型系统的生产环境,一般情况下,我们评价一条查询是否有效率,更多的是关注逻辑IO(至于为什么,回头补一篇)。我们常说,“要建彪悍的索引”、“要写高效的SQL”,其实最终目的就是在相同结果集情况下,尽可能减少逻辑IO。1.1 where条件的列上都得有统计信息。没统计信息SQLServer就无法估算不同查询计划开销优劣,而只能采用最稳妥的Scan(不管是table sca
2008-07-21 21:52:00 1313
原创 按日期范围查询ID断号情况,并进行聚合求和
问:有一个表如下: ID saleDate Price 1 2008-1-1 40 2 2008-1-1 50 3 2008-1-2 24 6 2008-1-2 10 7 2008-1-3 12 8 2008-1-3 20 .... 要写一个存储过程,统计一段时间内各连续ID的价格合计,得到以下结果
2008-04-21 22:52:00 3044 1
SQL 2005 + CLR 压缩/解压 文件夹
2009-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人