久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動(dòng):電腦PC端+手機(jī)端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價(jià)?。?!
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > 合并SQL腳本文件的方法分享建站知識(shí)

合并SQL腳本文件的方法分享建站知識(shí)

時(shí)間:2023-05-22 09:05:22 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: 網(wǎng)站技術(shù)員

導(dǎo)讀:1建站知識(shí)在平時(shí)的工作中,我會(huì)經(jīng)常的碰到這樣需要合并SQL腳本的問題。如,有很多的SQL腳本文件,需要按照一定的先后順序網(wǎng)seo優(yōu)化趨勢網(wǎng)站建設(shè)。

網(wǎng)seo優(yōu)化趨勢網(wǎng)站建設(shè)概述 -------------------------------------------------------------------------------- 在平時(shí)的工作中,我會(huì)經(jīng)常的碰到這樣需要合并SQL腳本的問題。如,有很多的SQL腳本文件,需要按照一定的先后順序,再生成一個(gè)合并SQL腳本文件,然后再發(fā)布到用戶SQL Server服務(wù)器上。 合并SQL腳本文件,最直接的方法就是新建1個(gè)空白的SQL腳本文件,再把需要合并的SQL腳本文件內(nèi)容復(fù)制到新建的SQL文件中。當(dāng)初,我合并腳本的操作方法與剛說的有類似。我在Microsoft SQL Server Management Studio(MSSMS)新建一個(gè)查詢,再把要合并的SQL腳本文件,一個(gè)一個(gè)的打開,并復(fù)制內(nèi)容到新建查詢中,然后生成合并腳本文件。 上面的方法,對于幾個(gè)SQL腳本文件合并來說,似乎沒什么問題。但是,當(dāng)我們要合并的腳本很多,一文件一個(gè)文件的內(nèi)容復(fù)制,是比較繁瑣的事情,要是能有1個(gè)簡單合并腳本工具就最好不過了。下面介紹我寫的兩個(gè)合并SQL腳本文件的存儲(chǔ)過程. 第1個(gè)存儲(chǔ)過程,只要調(diào)用sp_OACreate實(shí)現(xiàn)合并SQL腳本文件。

復(fù)制代碼 代碼如下:

use master Go if object_id('sp_ScriptMerge') Is Not Null Drop proc sp_ScriptMerge Go Create Proc sp_ScriptMerge ( @Path nvarchar(1024), @FilesList nvarchar(max)= null, @NewFileName nvarchar(1024)=null ) As /*合并SQL腳本文件(SQL)V1.0 Andy 2011-9-1*/ Declare @ScriptNr nchar(21), @subdirectoryStr nvarchar(512), @Dir nvarchar(1024), 網(wǎng)站seo優(yōu)化課程@ScriptCount int營銷型網(wǎng)站建設(shè) Declare @subdirectoryTB Table (subdirectory nvarchar(512),depth smallint,[file] smallint) Declare @tmp table(row smallint identity primary key,fileName nvarchar(512)) Set Nocount on if right(@Path,1)<>'\' Set @Path=@Path+'\' If Isnull(@NewFileName,'')='' Set @NewFileName=N'合并腳本-'+Convert(nvarchar(8),getdate(),112) if lower(right(@NewFileName,4))<>'.sql' Set @NewFileName=@NewFileName+'.sql' Set @NewFileName=@Path+@NewFileName Set @ScriptNr='Nr: '+Replace(replace(Replace(replace(convert(nvarchar(23),getdate(),121),'-',''),':',''),' ',''),'.','') Set @ScriptCount=0 /*讀取腳本文件內(nèi)容*/ if @FilesList >'' Begin Set @FilesList='Select N'''+replace(@FilesList,',',''' Union All Select N''')+'''' Insert into @tmp([fileName]) Exec(@FilesList) End if object_id('Tempdb..#') Is Not Null Drop Table # Create table #(row int identity(1,1) Primary key,text nvarchar(max)) Insert into @subdirectoryTB Exec xp_dirtree @Path,1,1 Declare cur_file cursor for Select a.subdirectory From @subdirectoryTB As a left Join @tmp As b ON b.fileName=a.subdirectory Where a.[file]=1 And a.subdirectory like '%.sql' And (b.fileName=a.subdirectory Or Not Exists(Select 1 From @tmp)) Order By isnull(b.row,0),a.subdirectory Open cur_file fetch next From cur_file into @subdirectoryStr While @@FETCH_STATUS = 0 Begin Set @ScriptCount=@ScriptCount+1 Insert into #(text) Select +Char(13)+Char(10)+ N'Go'+Char(13)+Char(10)+ N'/* '+@ScriptNr+' ('+rtrim(@ScriptCount)+'): '+@subdirectoryStr+' */'+Char(13)+Char(10)+ N'Go'+Char(13)+Char(10) Set @Dir='Type '+@Path+'"'+@subdirectoryStr+'"' Insert into #(text) Exec sys.xp_cmdshell @Dir fetch next From cur網(wǎng)站建設(shè)教程_file into @subdirectoryStr End Close cur_file Deallocate cur_file if @ScriptCount >0 Insert into #(text) Select +Char(13)+Char(10)+ N'Go'+Char(13)+Char(10)+ N'/* '+@ScriptNr+' 合并完成(合計(jì) '+rtrim(@ScriptCount)+' 各腳本文件). */'+Char(13)+Char(10)+ N'Go'+Char(13)+Char(10) /*寫入合并腳本文件*/ if @ScriptCount>0 Begin Declare @object int, @FileID int, @hr int, @src varchar(255), @desc varchar(255), @row int, @text nvarchar(max) Exec @hr=sp_OACreate 'Scripting.FileSystemObject',@object output If @hr <> 0 Goto File_ErrorHandler Exec @hr = sp_OAMethod @object,'CreateTextFile',@FileID OUTPUT, @NewFileName If @hr <> 0 Goto File_ErrorHandler Set @row=1 While Exists(Select 1 From # Where row=@row) Begin Set @text=(Select text From # Where row=@row) Exec @hr = sp_OAMethod @FileID, 'WriteLine', NULL, @text Set @row=@row +1 End Goto File_Done File_ErrorHandler: Print N'*********** 讀寫文件的時(shí)候發(fā)生錯(cuò)誤 ***********' Exec @hr=sp_OAGetErrorInfo @object, @src OUT, @desc OUT Select convert(varbinary(4),@hr) As hr, @src As Source, @desc As Description File_Done: Exec @hr = sp_OADestroy @FileID Exec @hr = sp_OADestroy @object Print N'*********** 合并腳本完成 ***********' Print N'合并后腳本文件: '+@NewFileName End Go

關(guān)鍵詞標(biāo)簽: 標(biāo)簽 SQL 腳本

聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-22 ,文章合并SQL腳本文件的方法分享建站知識(shí)主要講述腳本,標(biāo)簽,SQL網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_4333.html

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計(jì)制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗(yàn)
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 枞阳县| 北安市| 合肥市| 开远市| 会理县| 江门市| 安平县| 乡宁县| 郎溪县| 双江| 五常市| 前郭尔| 永靖县| 扶沟县| 义马市| SHOW| 铜陵市| 资阳市| 安丘市| 天长市| 萨嘎县| 乐亭县| 尤溪县| 湘西| 鄂州市| 克拉玛依市| 祁阳县| 永春县| 常山县| 右玉县| 韩城市| 泸州市| 洛宁县| 金川县| 迁西县| 柘荣县| 镶黄旗| 三河市| 黎城县| 棋牌| 河南省|