国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

SQL Server中合并用戶日志表的方法

瀏覽:129日期:2023-10-29 16:22:38

在維護SQL Server數據庫的過程中,大家是不是經常會遇到成千上萬的類似log20050901 這種日志表,每一個表中數據都不是很多,一個一個打開看非常不方便,或者有時候我們需要把這些表中的資料匯總,一個一個打開操作也是很麻煩。下面就介紹了一種自動化的合并表的方法。

我的思路是創建一個用戶存儲過程來完成一系列自動化的操作,以下是代碼。

--存儲過程我命名為BackupData,可以使用自己定義的名稱。

--參數1:@TableTarget 生成的目標表的名稱

--參數2:@TableStart 合并開始的表名

--參數3:@TableEnd 合并結束的表名

CREATE PROCEDURE BackupData @TableTarget sysname,@TableStart sysname,@TableEnd sysname

AS

DECLARE tnames_cursor CURSOR

FOR

SELECT TABLE_NAME

FROM INFORMATION_SCHEMA.TABLES

OPEN tnames_cursor

DECLARE @TableName sysname

DECLARE @TablePref sysname

DECLARE @IsTargetExist integer

--判斷目標表是否存在

SET @IsTargetExist=(SELECT count(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES where table_name = @TableTarget)

--如果目標表不存在則新建表

IF @istargetexist=0

BEGIN

--EXEC中的語句可以用SQL Server編寫的表腳本替換。注意在目標表中不能夠存在與需合并表中名稱一樣的“自動編號”類型的字段。

EXEC ('CREATE TABLE [dbo].[' + @TableTarget + ']

(

[LOG1] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,

[LOG2] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,

……

)')

END

FETCH NEXT FROM tnames_cursor INTO @TableName

WHILE (@@FETCH_STATUS <> -1)

BEGIN

IF (@@FETCH_STATUS <> -2)

BEGIN

SELECT @TableName = RTRIM(@TableName)

--以下兩行根據日志表的名稱更改

--取日志表名的前3位作為標識

SELECT @TablePref = LEFT(@TableName,3)

--判斷表名是否附合要求

IF (@TablePref='log') and (@TableName>=@TableStart) and (@TableName<=@TableEnd)

--開始導入

BEGIN

EXEC ('INSERT INTO ' + @TableTarget + ' SELECT * FROM ' + @TableName )

PRINT '表' + @TableName + '已導入' + @TableTarget + '中'

END

END

FETCH NEXT FROM tnames_cursor INTO @TableName

END

--釋放內存

CLOSE tnames_cursor

DEALLOCATE tnames_cursor

把上面代碼在SQL查詢分析器中運行即生成存儲過程BackupData。

BackupData的使用方法如下:

EXEC BackupData ‘合并后表名’,’開始表名’,’結束表名’,例如:

EXEC BackupData ‘_logs200508’,’log200508000000’,’log200508319999’。

因為我沒有找到可以實現這種操作的SQL語句所以寫了這樣的存儲過程,如果大家有好的更簡單的辦法請給我留言或來信:pujiang10@gmail.com。

標簽: Sql Server 數據庫
主站蜘蛛池模板: 色噜噜国产精品视频一区二区 | 精品综合久久久久久蜜月 | 国产成人影院在线观看 | 久草黄视频 | 久久久国产99久久国产久 | 久久久久久久久免费视频 | 91精品手机国产在线能 | 男人天堂亚洲 | 国产精品久久久久国产精品三级 | 毛片视频在线免费观看 | 亚洲精品久久精品h成人 | 久久精品国产线看观看亚洲 | 国产免费高清 | 日韩一级欧美一级毛片在线 | 看一级毛片一区二区三区免费 | 一级毛片免费视频网站 | 嫩草影院ncyy在线观看 | 欧美三级 欧美一级 | 国产三级在线观看a | 国产日韩欧美一区二区三区在线 | 国产精品亚洲玖玖玖在线靠爱 | 亚洲不卡视频在线观看 | 在线a亚洲视频播放在线观看 | aaa毛片免费观看 | 国产精品免费一区二区三区四区 | 欧美日韩国产一区二区三区在线观看 | 五月久久噜噜噜色影 | 欧美jizzhd精品欧美另类 | 一区二区三区免费视频播放器 | 亚洲人成网站在线在线 | 99热久久精品国产 | 玖玖啪| 成年女人毛片免费观看中文w | 亚洲精品综合欧美一区二区三区 | a毛片在线观看 | 成人黄激情免费视频 | 热er99久久6国产精品免费 | 一级日韩一级欧美 | 看美女毛片 | 伊人www | 精品久久久久久久久久香蕉 |