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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

我的思路是創(chuàng)建一個(gè)用戶存儲(chǔ)過程來完成一系列自動(dòng)化的操作,以下是代碼。

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

--參數(shù)1:@TableTarget 生成的目標(biāo)表的名稱

--參數(shù)2:@TableStart 合并開始的表名

--參數(shù)3:@TableEnd 合并結(jié)束的表名

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

--判斷目標(biāo)表是否存在

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

--如果目標(biāo)表不存在則新建表

IF @istargetexist=0

BEGIN

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

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)

--以下兩行根據(jù)日志表的名稱更改

--取日志表名的前3位作為標(biāo)識(shí)

SELECT @TablePref = LEFT(@TableName,3)

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

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

--開始導(dǎo)入

BEGIN

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

PRINT '表' + @TableName + '已導(dǎo)入' + @TableTarget + '中'

END

END

FETCH NEXT FROM tnames_cursor INTO @TableName

END

--釋放內(nèi)存

CLOSE tnames_cursor

DEALLOCATE tnames_cursor

把上面代碼在SQL查詢分析器中運(yùn)行即生成存儲(chǔ)過程BackupData。

BackupData的使用方法如下:

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

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

因?yàn)槲覜]有找到可以實(shí)現(xiàn)這種操作的SQL語句所以寫了這樣的存儲(chǔ)過程,如果大家有好的更簡(jiǎn)單的辦法請(qǐng)給我留言或來信:[email protected]。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 欧美性色黄大片在线观看 | 国产精品国产三级国产an不卡 | 欧美高清在线精品一区二区不卡 | a级毛片在线免费看 | 自拍视频啪 | 日本b站一卡二不卡 | 亚洲aⅴ | 免费国产99久久久香蕉 | 免费一级特黄欧美大片久久网 | 国产永久精品 | 国产日韩欧美三级 | 在线观看欧洲成人免费视频 | 国产免费a级片 | 亚洲三级在线观看 | 欧美激情一区二区三区高清视频 | 综合在线视频精品专区 | 精品国产97在线观看 | 国产高清在线精品一区二区 | 久久一级黄色片 | 波多野结衣一区二区 三区 波多野结衣一区二区三区88 | 色三级大全高清视频在线观看 | 香蕉三级 | 67id人成国产在线 | 美国毛片免费观看 | 日本a级毛片视频播放 | 高清不卡毛片免费观看 | 亚洲在成人网在线看 | 热99re久久国超精品首页 | 国产精品久久久久久久hd | 亚洲精品一区二区三区在线观看 | 国产一区亚洲欧美成人 | 性一级片 | 欧美一级成人影院免费的 | 久国产精品视频 | xxxwww欧美| 免费一级α片在线观看 | 日本a级片免费看 | 男人天堂1024 | 亚洲天堂网在线观看 | 欧美三级三级三级爽爽爽 | 成人看片黄a在线观看 |