【发布时间】:2017-05-10 18:52:48
【问题描述】:
有没有办法通过 SQL 中的字符串数组执行某种类型的循环?我将数据附加到#T_POLICY,并且我想用一个数据库运行查询,并用不同的数据库运行相同的查询。
例如
use Staging__4SBI_STG_BG
go
WITH cteEnumerate AS
(
SELECT *
,RN = ROW_NUMBER() OVER (PARTITION BY POLICY_ID ORDER BY LOADDATE DESC)
FROM dbo.STG_POLICY
)
INSERT INTO #T_POLICY
SELECT SOURCE, AGENCY_D, POL_SEQ, POLICY_ID, POL_ENDNUMBER, PRODUCT_ID,
COMPANY_ID
FROM cteEnumerate
WHERE RN = 1
ORDER BY POLICY_ID;
所以我想使用的下一个是使用 Staging__4SBI_STG_TB 而不是 BG,并且还有很多其他的要运行。我可以用这些名称创建一个表并遍历它们吗?任何帮助都会很棒。
谢谢
【问题讨论】:
-
存储过程中的动态 SQL while 循环或游标:stackoverflow.com/questions/18513986/… 游标将针对每个数据库,然后将执行动态 SQL 以更改数据库。那么你的查询...
-
感谢您的评论。看起来存储过程将是我的最佳选择,尽管作为只读用户我不确定我是否有权创建存储过程。
标签: sql sql-server