请老大们帮忙:如何把一张树表的某一节点下所有子节点拷贝到另一张树表的某节点下?

wxdxy 2005-07-19 10:16:37
id(自增)fid(父id)两张表的字段名相同
...全文
305 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxdxy 2005-07-19
  • 打赏
  • 举报
回复
id是自增的,用新的id,不是把id和fid照搬
jiushaoye 2005-07-19
  • 打赏
  • 举报
回复
这怎么拷得过去呀,id 不是重复了吗?
wxdxy 2005-07-19
  • 打赏
  • 举报
回复
表1id fid 表2 id fid
1 0 1 0
2 1 2 1
3 1 3 2
4 2 4 2
5 2 5 3
6 4 6 5
7 6
把表二中id=3的以下节点拷贝到表1id=5的节点下
phantomMan 2005-07-19
  • 打赏
  • 举报
回复
举一些数据看看,比如节点和子节点的表示等
wxdxy 2005-07-19
  • 打赏
  • 举报
回复
感动,盼来了邹建大大,运气真好。这个板块邹建大大关于树的帖子我都看了,受益匪浅。
zjcxc 2005-07-19
  • 打赏
  • 举报
回复
--示例数据
create table t1(id int identity,fid int,Name varchar(10))
insert t1 select 0,'1'
union all select 1,'2'
union all select 1,'3'
union all select 2,'4'
union all select 2,'5'
union all select 4,'6'
union all select 6,'7'

create table t2(id int identity,fid int,Name varchar(10))
insert t2 select 0,'a'
union all select 1,'b'
union all select 2,'c'
union all select 2,'d'
union all select 3,'e'
union all select 5,'f'
GO

--节点复制处理函数
CREATE FUNCTION f_CopyNode(
@ID int, --复制此节点下的所有子节点
@fid int, --将@ID下的所有子节点复制到此节点下面
@NewID int=NULL --新编码的开始值,如果指定为NULL,则为表中的最大编码+1
)RETURNS @t TABLE(OldID int,ID int,fid int,Level int)
AS
BEGIN
IF @NewID IS NULL
SELECT @NewID=MAX(ID) FROM T1
ELSE
SET @NewID=@NewID-1
DECLARE @Level int
SET @Level=1
INSERT @t(OldID,fid,Level) SELECT ID,@fid,@Level
FROM t2
WHERE fid=@ID
WHILE @@ROWCOUNT>0
BEGIN
UPDATE @t SET @NewID=@NewID+1,ID=@NewID
WHERE Level=@Level
SET @Level=@Level+1
INSERT @t(OldID,fid,Level) SELECT a.ID,b.ID,@Level
FROM t2 a,@t b
WHERE a.fid=b.OldID
AND b.Level=@Level-1
END
RETURN
END
GO

--调用函数将节点1下面的所有子节点复制到节点5下面
SET IDENTITY_INSERT t1 ON
INSERT t1(ID,fid,Name)
SELECT a.ID,a.fid,b.name
FROM f_CopyNode(3,5,DEFAULT) a,t2 b
WHERE a.OldID=b.ID
SET IDENTITY_INSERT t1 OFF
SELECT * FROM t1
/*--结果
id fid Name
----------- ----------- ----------
1 0 1
2 1 2
3 1 3
4 2 4
5 2 5
6 4 6
7 6 7
8 5 e
9 8 f

(所影响的行数为 9 行)
--*/
go

drop table t1,t2
drop function f_CopyNode
不平衡电网下基于延时相消法(DSC)的T型三电平LCL逆变器(Simulink仿真实现)内容概要:本文针对不平衡电网条件下T型三电平LCL逆变器的并网性能问题,提出基于延时相消法(DSC)的序分量分离控制策略,并通过Simulink进行仿真实现。研究重点在于解决电网电压不平衡引起的负序分量导致的并网电流畸变、功率波动及系统不稳定等问题。通过DSC方法实现正负序分量的快速、精确分离,结合三电平逆变器的中点电位控制与LCL滤波器的谐振抑制,优化系统在非理想电网下的动态响应与稳态性能。文中详细阐述了控制策略的设计、仿真模型的构建及关键参数的整定,并通过仿真结果验证了该方法在抑制电流畸变、平衡功率输出和提升系统鲁棒性方面的有效性。; 适合人群:具备电力电子、自动控制或电气工程相关专业背景,熟悉Simulink仿真工具,从事新能源发电、逆变器控制或微电网系统研究的研发人员及高年级研究生。; 使用场景及目标:①研究不平衡电网下三电平逆变器的并网控制策略;②掌握延时相消法(DSC)在序分量分离中的应用;③学习LCL型逆变器的建模与控制方法;④提升在复杂工况下电力电子系统稳定性分析与仿真能力。; 阅读建议:建议读者结合Simulink模型同步学习,重点关注DSC模块的实现逻辑、序分量控制环路设计及中点电位平衡策略,同时可通过修改电网不平衡度、负载扰动等工况进行仿真验证,深入理解控制策略的适应性与鲁棒性。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧