gpt4 book ai didi

azure-sql-database - SQL Azure 数据仓库动态 SQL 选择查询

转载 作者:行者123 更新时间:2023-12-04 22:57:52 24 4
gpt4 key购买 nike

在 Azure SQL 数据仓库存储过程中,我尝试形成动态 SQL 并执行选择查询,但无法获取结果集
下面是代码片段:

DECLARE @sql nvarchar(400)
DECLARE @cnt int
BEGIN
---Some Business Logic---
SELECT @sql = N'select @cnt = count(*) from '+quotename(@src_TableName)+' where warn_remarks like ''%'+ @condition +'%''';
SET @parameter = N'@cnt int OUTPUT'
EXECUTE sp_executesql @sql,@parameter,@cnt = @cnt OUTPUT
END

它显示的错误是
“'='”附近的语法不正确,在将 count(*) 分配给变量时的选择查询中,它给出了错误。但相同的逻辑在 Azure SQL 数据库中工作正常。请帮助解决这个问题。

最佳答案

您将需要改用 SET,因为您无法在 SQL DW 或 PDW 中使用 SELECT 设置变量。

DECLARE @sql nvarchar(400)
DECLARE @cnt int
BEGIN
---Some Business Logic---
SET @sql = N'SET @cnt = (select count(*) from '+quotename(@src_TableName)+' where warn_remarks like ''%'+ @condition +'%'')'; --replaced
SET @parameter = N'@cnt int OUTPUT'
EXECUTE sp_executesql @sql,@parameter,@cnt = @cnt OUTPUT
END

关于azure-sql-database - SQL Azure 数据仓库动态 SQL 选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37067509/

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