批量將資料庫中的使用者表匯出到指定目錄下的txt檔案

2021-05-23 03:05:31 字數 1550 閱讀 5053

-- subject: 批量將資料庫中的使用者表匯出到指定目錄下的txt檔案

if object_id('p_tbtotxt') > 0

drop proc p_tbtotxt

gocreate proc p_tbtotxt

@dbname sysname,--庫名

@path nvarchar(100) --匯出路徑

asset nocount on

--格式化路徑

declare @s varchar(8000)

if right(@path,1)<>'/' set @path=@path+'/'

set @path=replace(@path,':',':')

--判斷輸入的碟符是否正確,不正確退出

declare @t table(a int,b int,c int)

insert @t exec master..xp_fileexist @path

if not exists(select 1 from @t where c=1)

begin

raiserror('輸入的碟符不存在,請重新輸入!',16,16)

return

end--判斷是否存在輸入路徑,不存在建立

if not exists(select 1 from @t where b=1)

begin

set @s='md '+@path

exec master..xp_cmdshell @s,no_output

endset @s=null

--建立游標迴圈匯出使用者表

declare c cursor for

select 'exec master..xp_cmdshell ''bcp ['+@dbname+']..'+name+' out '+@path+name+'.txt -c -t'',no_output'

from sysobjects

where type='u'

open c

fetch c into @s

while @@fetch_status=0

begin

exec(@s)

fetch c into @s

endclose c

deallocate c

set nocount off

go--呼叫示例:

exec p_tbtotxt 'mydb','d:/txt'

將oracle資料庫表結構匯出到word文件

select 欄位名稱 資料型別 長度 是否為空 字段說明 預設值 from select t1.table name as 表名稱 t3.comments as 表說明 t1.column name as 欄位名稱 t1.data type as 資料型別 t1.data length as 長度...

將mysql資料匯出到excel表中

title 資料備份 date y m d h i s sep t crlf n conn mysql connect localhost root or die 不能連線資料庫 mysql select db 資料庫名稱 conn mysql query set names utf8 header...

將資料庫記錄匯出到Excel模板

public class wasteexcel tabledatalist.add sheet1 getxlsx sheet1,pp 2019 10 133 public static string getxlsx listtable1,string mdlpath,string filename,...