if exists(select * from dbo.sysobjects
where id=object_id('contentCopyChannerId') and objectproperty(id,'isprocedure')=1)
drop procedure contentCopyChannerId
go
create proc contentCopyChannerId as
declare @ID numeric
declare @DETAILID numeric
declare @USERID numeric
declare @BASECHANNEL numeric
declare @NEWBASECHANNEL numeric
declare @TITLE varchar(300)
declare @CREATETIME datetime
declare @SOURCE varchar(100)
declare @SOURCEURL varchar(100)
declare @FINGER varchar(100)
declare @AUTH_TYPE numeric
declare @ATTACHMENT_COUNT numeric
declare @COMMENT_COUNT numeric
declare @HITS numeric
declare @displaytime datetime
declare @isdel numeric
declare @titlePicture numeric
declare @style varchar(20)
declare @titlecolor varchar(50)
declare @TOP char(1)
declare @TOPTIME datetime
declare @channel3g_Click int
declare @isCopy varchar(50)
declare @State int
declare @newID numeric
declare @CONTENT_CHANNEL_STATUS numeric
declare @CONTENT_CHANNEL_CREATETIME datetime
declare @CONTENT_CHANNEL_PUBLISHTIME datetime
Set @State = 0
declare @contentCursor cursor --内容
declare @contentChannelCursor cursor --内容频道关系
Begin Tran
set @contentCursor=cursor for
select top 2 [ID]
, DETAILID
, USERID
,( case BASECHANNEL
when '100339' then '101133'
when '100340' then '101134'
when '100343' then '101117'
when '100317' then '100985'
when '100319' then '100985'
when '100661' then '100984'
when '100311' then '100986'
when '100316' then '100981'
when '101111' then '101004'
when '100315' then '100982'
when '101110' then '101006'
when '100318' then '100990'
when '100342' then '101123'
when '100312' then '101120'
when '100627' then '101122'
end) as NEWBASECHANNEL
, BASECHANNEL
, TITLE
, CREATETIME
, SOURCE
, SOURCEURL
, FINGER
, AUTH_TYPE
, ATTACHMENT_COUNT
, COMMENT_COUNT
, HITS
, displaytime
, isdel
, titlePicture
, style
, titlecolor
, [TOP]
, TOPTIME
, channel3g_Click
from CONTENT
where BASECHANNEL in( --100339
--,100340
--,100343
--,100317
--,100319
--,100661
100311
--,100316
--,101111
--,100315
--,101110
--,100318
--,100342
--,100312
--,100627
) and (isCopy is null or isCopy='')
open @contentCursor
--如果没有任何行则直接退出
If @@Cursor_Rows = 0
Begin
Close @contentCursor
Deallocate @contentCursor
End
fetch next from @contentCursor into
@ID
, @DETAILID
, @USERID
, @NEWBASECHANNEL
, @BASECHANNEL
, @TITLE
, @CREATETIME
, @SOURCE
, @SOURCEURL
, @FINGER
, @AUTH_TYPE
, @ATTACHMENT_COUNT
, @COMMENT_COUNT
, @HITS
, @displaytime
, @isdel
, @titlePicture
, @style
, @titlecolor
, @TOP
, @TOPTIME
, @channel3g_Click
while(@@fetch_status=0)
begin
set @isCopy=1
insert into CONTENT(
DETAILID
, USERID
, BASECHANNEL
, TITLE
, CREATETIME
, SOURCE
, SOURCEURL
, FINGER
, AUTH_TYPE
, ATTACHMENT_COUNT
, COMMENT_COUNT
, HITS
, displaytime
, isdel
, titlePicture
, style
, titlecolor
, [TOP]
, TOPTIME
, channel3g_Click
, isCopy
)
values(
@DETAILID
, @USERID
, @NEWBASECHANNEL
, @TITLE
, @CREATETIME
, @SOURCE
, @SOURCEURL
, @FINGER
, @AUTH_TYPE
, @ATTACHMENT_COUNT
, @COMMENT_COUNT
, @HITS
, @displaytime
, @isdel
, @titlePicture
, @style
, @titlecolor
, @TOP
, @TOPTIME
, @channel3g_Click
, @isCopy
)
Set @newID = @@Identity
update CONTENT set isCopy='2'
where (isCopy is null or isCopy='') and ID=@ID
set @contentChannelCursor=cursor for --内容频道关系结果集
select CREATETIME, PUBLISHTIME, STATUS
from CONTENT_CHANNEL
where CHANNEL_ID=@BASECHANNEL
and CONTENT_ID=@ID
Open @contentChannelCursor
--如果没有任何行则直接退出
If @@Cursor_Rows = 0
Begin
Close @contentChannelCursor
Deallocate @contentChannelCursor
End
fetch next from @contentChannelCursor into @CONTENT_CHANNEL_CREATETIME, @CONTENT_CHANNEL_PUBLISHTIME, @CONTENT_CHANNEL_STATUS
Close @contentChannelCursor
Deallocate @contentChannelCursor
insert into CONTENT_CHANNEL(
CONTENT_ID
, CHANNEL_ID
, CREATETIME
, PUBLISHTIME
, STATUS
, isCopy
)values
(
@newID
,@NEWBASECHANNEL
,@CONTENT_CHANNEL_CREATETIME
,@CONTENT_CHANNEL_PUBLISHTIME
,@CONTENT_CHANNEL_STATUS
,'1'
)
update CONTENT_CHANNEL set isCopy='2'
where (isCopy is null or isCopy='')
and CHANNEL_ID=@BASECHANNEL
and CONTENT_ID=@ID
If @@Error <> 0
Begin
Rollback Tran
Close contentCursor
Deallocate contentCursor
Return -1
End
fetch next from @contentCursor into
@ID
, @DETAILID
, @USERID
, @NEWBASECHANNEL
, @BASECHANNEL
, @TITLE
, @CREATETIME
, @SOURCE
, @SOURCEURL
, @FINGER
, @AUTH_TYPE
, @ATTACHMENT_COUNT
, @COMMENT_COUNT
, @HITS
, @displaytime
, @isdel
, @titlePicture
, @style
, @titlecolor
, @TOP
, @TOPTIME
, @channel3g_Click
End
Close @contentCursor
Deallocate @contentCursor
Commit Tran
EXECUTE contentCopyChannerId
分享到:
相关推荐
在Windows下通过MySql提供的主从复制技术实现数据库主从同步机制,文档中详细记录我在项目中配置的实践过程
在数据库系统中,为了提高读取性能和增加冗余性,读写分离是一个常见的架构模式。在读写分离架构中,主数据库负责处理写操作,而从数据库(或称为辅助数据库)处理读操作。通常,从数据库通过数据复制技术与主数据库...
MySQL主从复制是一种数据同步机制,它允许将一个MySQL服务器(主服务器)上的数据自动复制到一个或多个其他MySQL服务器(从服务器)上。这种架构能够提供数据冗余、负载均衡以及提高应用程序的可用性。 - **日志...
Mycat作为一个中间件,支持SQL92标准,能够跨语言、平台和数据库工作,尤其适合于大数据量的数据库架构。 首先,我们来了解读写分离的好处。简单来说,读写分离可以增加数据的冗余性(即备份数据),读和写操作分别...
主从复制是MySQL数据库的一种高可用性解决方案,其中一台服务器(主服务器)处理所有写操作,而其他服务器(从服务器)同步主服务器上的数据变化,从而形成一个读写分离的环境。这种设计模式有助于减轻主服务器的...
MySQL主从同步是指通过复制机制将主服务器的数据变更同步到一个或多个从服务器的过程。这种方式可以用来实现数据备份、负载均衡等功能。 **同步过程:** 1. **二进制日志记录**:主服务器上的所有更改都会被记录在...
这个项目实例将带你深入理解这一机制,并通过实际操作来熟悉整个配置过程。 首先,MySQL主从复制的核心原理在于,主库(Master)记录所有的数据变更操作到二进制日志(Binary Log),然后从库(Slave)通过IO线程从...
配置完成后,主库会生成一个初始同步点,如使用`CHANGE MASTER TO`命令指定。 4. **故障转移**: 如果主库出现故障,可以快速将从库提升为主库,保证服务连续性。这需要监控系统健康状况并有合适的切换策略。 5. **...
MySQL 主从同步配置过程 一、 MySQL 主从同步配置概述 MySQL 主从同步配置是指将 MySQL 数据库的数据从一台服务器(主服务器)同步到另一台服务器(从服务器)的过程。这种配置可以实现数据的高可用性和灾难恢复,...
在IT领域,特别是数据库应用和用户界面开发中,cxGrid是一个常见的组件库,它用于创建具有强大数据处理能力的网格控件。cxGrid允许开发者在应用程序中构建主从表结构,这种结构通常用于显示和操作多层关联的数据。在...
主从表关系指的是一个主表(Master Table)与一个或多个从表(Slave Table)之间的关联。主表通常包含唯一标识记录的关键字段,而从表则通过这些关键字段与主表相关联,以扩展或细化主表中的信息。这种关系在关系型...
其核心理念在于将主服务器(Master)的事务操作实时或定期复制到一个或多个从服务器(Slave),从而实现数据的冗余存储与分发。 ##### 重要性: 1. **备份便利性**:通过主从备份机制,可在不影响主服务器正常运行...
MySQL 主从复制是指将一个 MySQL 服务器的数据实时同步到另一个 MySQL 服务器中,以实现数据的高可用性和读写分离。下面是 MySQL 主从复制与读写分离的详细知识点: MySQL 主从复制 MySQL 主从复制是指将一个 ...
综上所述,Mycat在实现MySQL主从复制基础上的读写分离功能是一个复杂但有效的过程,涉及到了对系统环境的配置、JDK的安装、Mycat的部署以及详细的配置文件修改等多个步骤。在部署实施时,需要根据实际的业务需求和...
在实际开发中,经常会使用到主从的显示,当选中一个父项,则子项的集合自动进行修改, 我们可以使用传统的SelectedIndexChanged修改去实现,但是通常情况下借助于collectionViewSource类更方便的来实现。 一共创建了...
且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 面临的问题 在实际的场景当中单一节点的 redis 容易面临风险,存在以下几个问题: 1. 机器故障:当发生机器故障时,需要迁移到另外...
- **半同步复制(semi-sync):** 主数据库在将更改写入binlog之后,会等待至少一个从数据库确认接收并存储了这些更改后,才视为写操作完成。 - **并行复制:** 从数据库开启多个线程,分别处理不同的数据库或表,以...
mysql主从搭建过程
3. **DataSourceAspect类**:定义一个AOP切面,在进入业务逻辑方法前根据方法名前缀判断应使用读库还是写库,并在方法执行完毕后清除线程中的数据源标识。 ### 结论与展望 通过上述步骤,我们可以有效地在Spring...
MongoMultiMaster是一个基于Python编写的工具,专门用于简化MongoDB主从复制(也称为分片集群)的配置过程。在大型分布式系统中,数据的可靠性和可用性是至关重要的,而MongoDB的主从复制机制正好能提供这样的功能。...