1

私は2つのテーブルを持っています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

私の問題です。行ごとにループを作成する方法がわかりません。最善の方法が必要です。例 i は次のループを使用できます。

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

何か考えはありますか?

4

2 に答える 2