gpt4 book ai didi

sql - 创建具有多个表的动态 View

转载 作者:行者123 更新时间:2023-12-02 04:26:23 25 4
gpt4 key购买 nike

我们有一个数据库,每个月都会为交易创建一个新表。所以有像 TRANS201811 这样的表, TRANS201812 , TRANS201901等。我需要一个在 View 中显示所有这些事务的 View 。下面是我编写的动态 SQL,它完成了我想要做的事情。但是,我想看看是否有更有效的方式来写这个。谢谢!

declare @sql as varchar(max) = (
SELECT ltrim(stuff((
SELECT ' UNION SELECT ACCOUNT, AMOUNT, GL_FROM, GL_TO, INIT_ACCNT, LOGGED, TRAN_WHEN FROM ' + cast(t.table_schema + '.' + t.table_name AS VARCHAR(max)) + ' '
FROM INFORMATION_SCHEMA.TABLES t
WHERE TABLE_SCHEMA = 'softwareadmin'
AND (TABLE_NAME LIKE 'TRANS20%')
FOR XML PATH, TYPE).value(N'.[1]', N'nvarchar(max)'), 1, 6, N'')))

exec(@sql)

最佳答案

您可以创建一个简单的 View 来显示所有这些:

CREATE VIEW AS transactionViews
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND [TABLE_NAME] LIKE 'TRANS20%'

关于sql - 创建具有多个表的动态 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54132650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com