我有两张桌子FOREIGN KEY([Table_ID])
Columns
ID Table_ID ActiveFlag
1 1 0
2 2 1
3 1 1
4 3 0
Sys_Tables
Table_ID Name
1 Request
2 Plan
3 Contecst
我正在编写一个存储过程,它返回每个表的任何列。
上述值的示例输出
--first output table
ID Table_ID ActiveFlag
1 1 0
3 1 1
--second output table
ID Table_ID ActiveFlag
2 2 1
--third output table
ID Table_ID ActiveFlag
4 3 0
我的想法是这样的
Select c.*
from Ccolumns c
inner join Sys_tables t
on t.Table_ID = c.Table_ID and t.Table_ID = @Parameter
我的问题,我不知道如何为每一行创建一个循环。我需要最好的方法。示例我可以使用以下循环:
DECLARE @i int = 0
DECLARE @count int;
select @count = count(t.Table_ID)
from Sys_tables t
WHILE @i < @count BEGIN
SET @i = @i + 1
--DO ABOVE SELECT
END
但这并不完全正确。例如我的 Sys_tables 这样的数据可能是
Table_ID Name
1 Request
102 Plan
1001 Contecst
你有什么主意吗?