Declare @alias as varchar(10)
set @alias = 'fk2'
insert into #Queries(Query, ExecuteOrder)
select top 1 'delete ' + fk1.TableFrom + ' from ' + fk1.TableFrom
+ ' join ' + @alias.TableFrom + ' on ' + fk1.TableFrom+'.'+fk1.FK_Column + ' = ' + fk2.TableFrom + '.ID'
+ ' join ' + fk3.TableFrom + ' on ' + fk2.TableFrom+'.'+fk2.FK_Column + ' = ' + fk3.TableFrom + '.ID'
+ ' join ' + fk4.TableFrom + ' on ' + fk3.TableFrom+'.'+fk3.FK_Column + ' = ' + fk4.TableFrom + '.ID'
+ ' Where ' + fk4.TableFrom + '.' + fk4.FK_Column + ' = ' + @value
,@i
from #FK fk1
join #fk As @alias on @alias.TableFrom = fk1.TableTo
join #fk fk3 on fk3.TableFrom = fk2.TableTo
join #fk fk4 on fk4.TableFrom = fk3.TableTo
我正在为自己加入一个表来构建一个结果查询,然后从插入的临时表中执行。我目前正在指定连接数,但希望根据传入的另一个整数值动态构建它们。连接数将与此整数值相关联。唯一的问题是我需要为每个连接添加一个唯一的别名,然后在上面使用它来构建结果查询。是否可以使用动态别名来消除为每个连接硬编码别名的需要?