仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1829|回复: 9
打印 上一主题 下一主题

[学习教程] MYSQL编程:SQL Server中兼并用户日记表的办法

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
首先我们要知道,或许有一项技术存在很多理由让我们可以选择使用MySQL学习教程,但是让我们不使用它往往只要有一个理由就足够了。server在保护SQLServer数据库的过程当中,人人是否是常常会碰到不计其数的相似log20050901这类日记表,每个表中数据都不是良多,一个一个翻开看十分不便利,大概偶然候我们必要把这些表中的材料汇总,一个一个翻开操纵也是很贫苦。上面就先容了一种主动化的兼并表的办法。
我的思绪是创立一个用户存储历程来完成一系列主动化的操纵,以下是代码。
--存储历程我定名为BackupData,可使用本人界说的称号。
--参数1:@TableTarget天生的方针表的称号
--参数2:@TableStart兼并入手下手的表名
--参数3:@TableEnd兼并停止的表名
CREATEPROCEDUREBackupData@TableTargetsysname,@TableStartsysname,@TableEndsysname
AS
DECLAREtnames_cursorCURSOR
FOR
SELECTTABLE_NAME
FROMINFORMATION_SCHEMA.TABLES
OPENtnames_cursor
DECLARE@TableNamesysname
DECLARE@TablePrefsysname
DECLARE@IsTargetExistinteger
--判别方针表是不是存在
SET@IsTargetExist=(SELECTcount(TABLE_NAME)FROMINFORMATION_SCHEMA.TABLESwheretable_name=@TableTarget)
--假如方针表不存在则新建表
IF@istargetexist=0
BEGIN
--EXEC中的语句能够用SQLServer编写的表剧本交换。注重在方针表中不克不及够存在与需兼并表中称号一样的“主动编号”范例的字段。
EXEC(CREATETABLE[dbo].[+@TableTarget+]
(
[LOG1][nvarchar](10)COLLATEChinese_PRC_CI_ASNULL,
[LOG2][nvarchar](10)COLLATEChinese_PRC_CI_ASNULL,
……
))
END



FETCHNEXTFROMtnames_cursorINTO@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(INSERTINTO+@TableTarget+SELECT*FROM+@TableName)
PRINT表+@TableName+已导进+@TableTarget+中
END
END
FETCHNEXTFROMtnames_cursorINTO@TableName
END
--开释内存
CLOSEtnames_cursor
DEALLOCATEtnames_cursor
把下面代码在SQL查询剖析器中运转即天生存储历程BackupData。
BackupData的利用办法以下:
EXECBackupData‘兼并后表名’,’入手下手表名’,’停止表名’,比方:
EXECBackupData‘_logs200508’,’log200508000000’,’log200508319999’。
由于我没有找到能够完成这类操纵的SQL语句以是写了如许的存储历程,假如人人有好的更复杂的举措请给我留言或来信:pujiang10@gmail.com
与数据库相关的流程的逐渐标准化,使得解决方案提供商能以更便捷的方式提供服务、部署应用程序、规划容量和管理资源。DBaaS模式还有助于减少数据和数据库的冗余度并提升整体服务质量。
透明 该用户已被删除
沙发
发表于 2015-1-18 05:03:01 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
山那边是海 该用户已被删除
板凳
发表于 2015-1-21 10:51:02 来自手机 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
小魔女 该用户已被删除
地板
发表于 2015-1-30 15:59:09 | 只看该作者
是要和操作系统进行Socket通讯的场景。否则建议慎重!
柔情似水 该用户已被删除
5#
发表于 2015-2-6 13:56:19 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-16 09:30:21 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
深爱那片海 该用户已被删除
7#
发表于 2015-3-5 03:29:38 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
精灵巫婆 该用户已被删除
8#
发表于 2015-3-11 23:05:44 | 只看该作者
总感觉自己还是不会SQL
若天明 该用户已被删除
9#
发表于 2015-3-19 15:58:32 | 只看该作者
呵呵,这就是偶想说的
飘灵儿 该用户已被删除
10#
发表于 2015-3-28 21:45:52 | 只看该作者
发几份SQL课件,以飨阅者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-6 02:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表