gpt4 book ai didi

sql - 如何判断存储在变量中的 SQL 是否会返回任何行

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

如果我有一个 SQL 脚本存储在这样的变量中:

DECLARE @SQL VARCHAR(MAX) = 'SELECT * FROM Employees WHERE Age > 80'

如果运行@SQL,我如何判断它是否会返回任何行?

实际上:

IF EXISTS(@SQL) print 'yes, there are rows' -- Dummy code -- does not work!

我想尝试这个,而不必在 @SQL 中运行脚本,将其插入表中并计算行数。

最佳答案

当然你需要运行脚本。为了避免将结果插入表中并计算行数,您可以使用 sp_executesql 和输出参数。

DECLARE @Statement NVARCHAR(MAX) = 'SELECT * FROM Employees WHERE Age > 80'

DECLARE @DynSQL NVARCHAR(max) = N'SET @Exists = CASE WHEN EXISTS(' +
@Statement +
N') THEN 1 ELSE 0 END'

DECLARE @Exists bit
EXEC sp_executesql @DynSQL,
N'@Exists bit OUTPUT',
@Exists = @Exists OUTPUT

SELECT @Exists AS [Exists]

关于sql - 如何判断存储在变量中的 SQL 是否会返回任何行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718829/

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