ai didi

sql - 动态 SQL 给出 "Incorrect Syntax Near ' +'"

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

我在这里可能非常愚蠢,但为什么这个简单的动态查询:

EXEC sp_executesql N'SELECT Id FROM dbo.Widgets WHERE Id = ' + 1;

Give “‘+’附近的语法不正确”

?

最佳答案

您不能将表达式表述为参数的一部分。而且您无论如何都不应该以这种方式连接(想想 SQL 注入(inject))- 您已经在使用 sp_executesql,为什么不使用适当的参数呢?

DECLARE @Id INT, @sql NVARCHAR(MAX);
SET @Id = 1; -- presumably this will come from elsewhere

SET @sql = N'SELECT Id FROM dbo.Widgets WHERE Id = @Id;';
EXEC sp_executesql @sql, N'@Id INT', @Id;

关于sql - 动态 SQL 给出 "Incorrect Syntax Near ' +'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19225015/

24 4 0
文章推荐: ionic-framework - Ionic 4 - 找不到管道
文章推荐: wordpress - Carbon-fields 不显示制造的领域
文章推荐: Unity3D Sprite 不出现在游戏窗口
文章推荐: regex - 使用正则表达式从字符串中删除垃圾字符
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com