gpt4 book ai didi

sql - 查看存储过程的结果

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

我有一个执行动态构建字符串的存储过程。

它结合了我无法控制的另一台服务器上不断变化的模式中的几个选择语句(因此是动态字符串)。我希望能够从 View 中访问此过程的结果,但这是我遇到困难的地方。

我创建了一个存储过程(下面的代码),它将我的结果输出到一个表中,但我希望能够执行连接等,所以如果有某种方法可以将其包装到 View 中,那将非常方便-我在考虑一个表值函数,但我还没有完全弄清楚如何将动态 SQL 放入一个函数中……感谢任何帮助!

CREATE PROCEDURE [dbo].[usp_test]
AS
SET NOCOUNT ON;
DECLARE @sql VARCHAR(MAX)

SELECT @sql = ISNULL(@sql+'

','')+'SELECT TOP (900) *
FROM OPENQUERY(Linked_Server,
'SELECT col1, col2, col3

FROM dbo.'+ tableName+'
+'
UNION' FROM dbo.ls_views

--dbo.ls_views is a view with the pertinent views/table names from the other server.

Set @sql = @sql+ '
Select top (0) ''1'', ''2'',''3'' from sys.tables '
--last select statement is to end multiple unions... not sure if there is a better way, but this works.

--PRINT (@sql);
--EXEC (@sql);
EXECUTE sp_Executesql @sql
GO

最佳答案

您能否让 SQL Agent 定期执行此操作并将结果转储到数据库中的另一个表/一组表中?

然后您可以将它用作您想要的任何查询中的直接连接。

关于sql - 查看存储过程的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18743598/

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