34,873
社区成员
发帖
与我相关
我的任务
分享create table t(Stock nvarchar(2), Component nvarchar(2))
insert t select 'A', 1
insert t select 'A', 2
insert t select 'A', 3
insert t select 'A', 4
insert t select 'A', 5
insert t select 'A', 6
insert t select 'A', 7
insert t select 'A', 8
insert t select '1', 9
insert t select '1', 10
insert t select '2', 11
insert t select '2', 12
go
create function test_f(@Stock nvarchar(2))
returns nvarchar(2)
as
begin
while exists(select 1 from t where Component=@Stock )
begin
select @Stock=Stock from t where Component=@Stock
end
return @Stock
end
go
select dbo.test_f(Stock)as Stock,Component from t
Stock Component
----- ---------
A 1
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A 9
A 10
A 11
A 12
(所影响的行数为 12 行)