易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLServer导出表到EXCEL文件的存储过程

 SQL Server导出表到EXCEL文件的存储过程:
  *--数据导出EXCEL
  导出表中的数据到Excel,包含字段名,文件为真正的Excel文件
  ,如果文件不存在,将自动创建文件
  ,如果表不存在,将自动创建表
  基于通用性考虑,仅支持导出标准数据类型
  ---*/
  /**//*--调用示例
  p_exporttb @tbname='地区资料',@path='c:',@fname='aa.xls'
  --*/
  if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and
  OBJECTPROPERTY(id, N'IsProcedure') = 1)
  drop procedure [dbo].[p_exporttb]
  GO
  create proc p_exporttb
  @tbname sysname, --要导出的表名,注意只能是表名/视图名
  @path nvarchar(1000), --文件存放目录
  @fname nvarchar(250)='' --文件名,默认为表名
  as
  declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
  declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
  --参数检测
  if isnull(@fname,'')='' set @fname=@tbname+'.xls'
  --检查文件是否已经存在
  if right(@path,1)<>'' set @path=@path+''
  create table #tb(a bit,b bit,c bit)
  set @sql=@path+@fname
  insert into #tb exec master..xp_fileexist @sql
  --数据库创建语句
  set @sql=@path+@fname
  if exists(select 1 from #tb where a=1)
  set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE'
  +';CREATE_DB="'+@sql+'";DBQ='+@sql
  else
  set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 5.0;HDR=YES'
  +';DATABASE='+@sql+'"'
  --连接数据库
  exec @err=sp_oacreate 'adodb.connection',@obj out
  if @err<>0 goto lberr
  exec @err=sp_oamethod @obj,'open',null,@constr
  if @err<>0 goto lberr
  --创建表的SQL
  select @sql='',@fdlist=''
  select @fdlist=@fdlist+','+a.name
  ,@sql=@sql+',['+a.name+'] '
  +case when b.name in('char','nchar','varchar','nvarchar') then
  'text('+cast(case when a.length>255 then 255 else a.length end as varchar)+')'
  when b.name in('tynyint','int','bigint','


相关文档:

细节 sqlserver 的ntext类型在数据库中是看不到值的

 sqlserver 的ntext类型在数据库中是看不到值的
起初我还以为数据没有插入,后来才知道ntext类型在数据库中本来就看不到的(数据较短的可以看到);
那我要想看到ntext数据怎么办?
在查询分析器中可以看到(查询分析器中也只看到了前几十个字符, 不是全部的) ......

SqlServer 大型数据处理与优化

一、数据库结构的设计
    如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。
    在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往 ......

sqlServer 中 获取汉字字串的拼音声母

 CREATE        function fGetPy(@str varchar(500)='')
returns varchar(500)
as
begin
    declare @strlen int,@return varchar(500),@ii int
    declare @c nchar(1),@chn nchar(1)
    select @strlen=len(@str),@retur ......

SqlServer中自定义类似Split截取字段函数

if exists (select * from dbo.sysobjects where name='SplitStr' )
drop FUNCTION SplitStr
go
CREATE   FUNCTION   SplitStr   (@splitString   varchar(8000),   @separate   varchar(10))  
RETURNS   @returnTable   ......

SqlServer中查询10到20条之间的数据

 查询northwind数据库中orders中的10到20条记录
select   top   10   *   from   orders
 where   orderid > ( select  max(orderid)  from  (select top 10 orderid  from  orders order by orderid) as t&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号