use test
go
/*
王云朋
2017年8月15日10:36:56
*/
--导出存储过程
/*
导出表,或试图
*/
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, --要导出的表名,或者视图名
@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)
declare @path nvarchar(1000) --文件存放目录
set @path = 'E:\项目\4.山西太原\数据库备份\Web\bassepint\data\daochu\xls\';
--参数检测
if isnull(@fname,'')='' set @fname=@tbname+'.xls'
--***************************************判断文件夹是否存在,如果不存在则进行创建
--创建一个临时表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[file_exists]') and OBJECTPROPERTY(id, N'IsTable') = 1)
drop table [dbo].[file_exists]
create table file_exists (
文件 int ,
目录 int,
父目录 int
)
insert into file_exists exec master..xp_fileexist 'E:\项目\4.山西太原\数据库备份\Web\bassepint\data\daochu\xls\'
if( (select 目录 from file_exists) !=1)
--文件夹不存在,创建文件夹
ExEc xp_cmdshell 'mkdir E:\项目\4.山西太原\数据库备份\Web\bassepint\data\daochu\xls\'
--删除临时表
drop table file_exists
--*********************************+replace(replace(replace(replace(CONVERT(varchar(100),GETDATE(),25),' ',''),'-',''),':',''),'.','')******************************
set @fname = @fname+'.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
set @constr='Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="Excel 8.0;HDR=YES'<
SQL Server数据导出SQL语句
最新推荐文章于 2024-06-08 23:11:47 发布