运行 sp_executesql 查询需要参数 @statement

2024-01-08

我不确定如何解决此错误:

过程或函数“sp_executesql”需要参数“@statement”,但未提供该参数。

对于此查询:

DECLARE @a INT 
DECLARE @b VARCHAR 
SET @a = 1

WHILE @a < 30
BEGIN
set @b = @a  
exec sp_executesql update source_temp set pmt_90_day = pmt_90_day + convert(money,'trans_total_'+@b)+N'
    N'where convert(datetime,'effective_date_'+@b)+N' <= dateadd(day,90,ORSA_CHARGE_OFF_DATE)
    and DRC_FLAG_'+@b = 'C'''

SET @a = @a + 1
END

另外,您能否帮助我理解 N' 的正确用法以及它在该语句中是否正确完成。

感谢你的协助。


“sp_executesql”存储过程需要执行单个字符串参数@statement。

你的字符串在这里完全不正常......你需要在任何“固定”字符串部分前面加上 N'......' 来使它们成为 Unicode 字符串,但这绝对不是正确的情况。

我想你可能想尝试这个:

DECLARE @a INT 
DECLARE @b VARCHAR(2)

SET @a = 1

DECLARE @statement NVARCHAR(500)

WHILE @a < 30
BEGIN
    SET @b = CAST(@a AS VARCHAR(2))

    SET @statement = 
        N'update source_temp set pmt_90_day = pmt_90_day + ' + 
             'convert(money, ''trans_total_' + @b + ''') ' + 
             'where convert(datetime, ''effective_date_' + @b + ''')' +
             ' <= DATEADD(DAY, 90, ORSA_CHARGE_OFF_DATE) ' +
             'and DRC_FLAG_' + @b + ' = ''C'''

    exec sp_executesql @statement

    SET @a = @a + 1
END

这是否有效并达到您期望的效果?

说明: N'...........' 分隔包含 SQL 语句的整个字符串。其中的任何撇号都必须重复(“转义”)。我希望我正确理解了你的逻辑。

Marc

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 sp_executesql 查询需要参数 @statement 的相关文章

  • 如何从 Oracle 中的 select 语句调用带有 Rowtype 参数的函数

    我有一个 oracle 函数 它有一个 in 参数 它是表的行类型 我需要从 select 语句将当前行传递给这个函数 以便它进行一些处理并返回一个值 是否有一个伪变量可以在 select 语句的上下文中使用 相当于触发器中的旧的和新的 我
  • 将程序存储在 phpMyAdmin 中

    我必须将存储过程添加到 MySQL 数据库 问题是托管提供php我的管理员来管理数据库 我在网上搜索了一下 想法是运行创建程序的MySQL本机语句 但由于程序的代码通常可能有 我们必须更改 MySQL 中的分隔符 php我的管理员没有这个选
  • 存储过程总是返回0

    我试图从存储过程获取返回值 但它总是返回 0 c code cmd new SqlCommand cmd CommandType CommandType StoredProcedure cmd CommandText AbsentEntry
  • 在 SQL Server 2005 IMAGE 列中存储 20 Meg 文件的最有效方法

    我们将文档存储在 SQL Server 2005 数据库表中 列格式为 Image 每次我尝试存储大于 1 Meg 的 PDF 文件时 它都会以某种方式损坏 NET 中是否有任何特别有效的方法来序列化大文件 10megs 并将其存储到数据库
  • 在 SQL Server 中将 UTC 毫秒转换为 DATETIME

    我想在 SQL Server 中将 UTC 毫秒转换为 DateTime 这可以通过以下代码在 C 中轻松完成 DateTime startDate new DateTime 1970 1 1 AddMilliseconds 1348203
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • SQL Server 行锁

    如何在 SQL Server 2005 中进行行锁定 我执行一条 sql 进行行锁定 即 SELECT FROM authors WITH HOLDLOCK ROWLOCK WHERE au id 274 80 9391 它工作正常 但在这
  • 在 SQL Server 中重命名列的问题

    所以我试图将表中的一列重命名为Conversion Fee PerShare只是Conversion Fee 我上网查了一下 发现语法是 sp RENAME TableName OldColumnName NewColumnName COL
  • 存储过程错误 PLS-00201:必须声明标识符“UTL_HTTP”

    我正在尝试创建一个从服务请求一些 XML 数据的存储过程 我在网上找到了几个示例 它们都指向使用这个 UTL HTTP 包 但是 每次我尝试用它来编译我的存储过程时 我都会收到错误 PLS 00201 identifier UTL HTTP
  • 插入多行而不重复语句的“INSERT INTO ...”部分?

    我知道我几年前就已经这样做过 但我不记得语法了 而且由于提取了大量有关 批量导入 的帮助文档和文章 我在任何地方都找不到它 这就是我想做的 但语法不完全正确 请以前做过此操作的人帮助我 INSERT INTO dbo MyTable ID
  • 重新启动后无法远程或本地连接到 SQL Server

    上周末进行一些网络维护后 我们的开发服务器出现了一些问题 导致我们重新启动它 重新启动期间安装了一些更新 这可能是也可能不是一个因素 从那时起 我们就无法连接到 SQL Server 2005 即使是通过 Management Studio
  • 如何编写不返回任何内容的 postgres 存储过程?

    如何在 postgres 中编写一个根本不返回值的简单存储过程 即使使用 void 返回类型 当我调用存储过程时 我也会返回一行 CREATE FUNCTION somefunc in id bigint RETURNS void AS B
  • 在SQLDatasource中使用存储过程时,Gridview不显示

    我以前偶然发现过这个问题 我知道这是一个常见问题 一个相关的问题是网格视图为空 https stackoverflow com q 5596451 777982 但这并不能解决我的问题 理想情况下 我想要的是当我单击 查找 按钮时根据文本框
  • 从 Excel 将参数传递到 SQL Server 上的 MS Query 中的临时变量

    我已经使用 Microsoft 查询创建了参数查询 如上所述here https superuser com questions 197453 run an sql query with a parameter from excel 200
  • C# SqlDataReader 执行统计信息和信息

    我正在创建一个自动数据库查询执行队列 这本质上意味着我正在创建一个 SQL 查询队列 这些查询将被一一执行 使用类似于以下的代码执行查询 using SqlConnection cn new SqlConnection Configurat
  • TSQL:无法对 COUNT(*) 执行聚合函数 AVG 来查找一天中最繁忙的时间

    考虑一个保存日志数据的 SQL Server 表 重要的部分是 CREATE TABLE dbo CustomerLog ID int IDENTITY 1 1 NOT NULL CustID int NOT NULL VisitDate
  • 如何将变量设置为触发器 MYSQL 内存储过程的结果?

    我这里有一个小问题 我正在为我的数据库工作创建一个触发器 但我不知道如何在触发器内使用存储过程 我想将过程的结果保存在变量中 然后使用稍后在 IF 比较器上变量 这是我的代码 DELIMITER CREATE TRIGGER insert
  • sql脚本变量默认值

    我有一个脚本文件 例如测试 sql 我想从另一个脚本调用它 比如 caller sql 在 sqlcmd 模式下使用 r test sql 这工作正常 但我想在 test sql 中使用脚本变量 当我从 caller sql 调用 test
  • INFORMATION_SCHEMA 与 sysobjects

    在 SQL Server 中 INFORMATION SCHEMA 和 sysobjects 之间有什么区别 其中一个是否比另一个提供更多信息 或者它们通常用于不同的用途 sysobjects 与 sys objects 相同吗 如果不是
  • SQL Server 2005 - 字符编码问题

    我正在尝试将此值 llko 存储到 SQL Server 中的列中 该列是 nvarchar 1000 插入语句如下所示 N llko 但里面的数据仍然显示为 a llkoa 关于我可以尝试什么的任何想法 EDIT 我刚刚意识到我已经更改了

随机推荐

  • 调用客户端时,信号器服务器端方法是否应该异步?

    我正在关注 SignalR 教程 http www asp net signalr overview hubs api hubs api guide server http www asp net signalr overview hubs
  • 如何在 Spring Boot 中覆盖依赖项的托管版本

    Spring Boot 允许我们使用以下命令更改 Java 版本
  • 随机排序

    关于如何从集合中获取随机文档的问题已被多次询问 并且有关于该主题的建议 我需要的是从集合中获取几个随机文档 更糟糕的是 这些文档必须符合某些标准 我的意思是经过过滤 例如 我有一个文章集合 其中每篇文章都有一个 主题 字段 用户选择他感兴趣
  • 如何从 Android Facebook SDK 4.6.0 获取电子邮件 ID?

    这是我在 Facebook 登录后获取用户信息的代码 我正在尝试从用户那里获取电子邮件ID 我得到了名称 ID 但没有得到电子邮件ID 我尝试使用登录按钮和登录管理器类都给出了相同的结果 现在如何从回复中获取电子邮件 ID loginBut
  • 一旦 div 达到一定高度,使用 jQuery 将 div 的高度更改为自动

    我有一个 div 可以让用户动态添加额外的表单输入 我希望能够在这个 div 达到一定高度后将其高度更改为自动 这是我的 jQuery 代码 尽管它目前似乎不起作用 document ready function if upload3 he
  • 帮助测试使用 php 的代理是否有效

    我有一个代理列表 需要在我正在编写的 php 脚本中使用它们 在使用代理之前如何测试它是否可以正常工作 那可能吗 目前 如果代理不起作用 脚本将在 30 秒后终止 有没有更快的方法来确定它是否有效 也许创建一个套接字连接 向它发送一些内容来
  • Android JetPack 的共享 ViewModel 生命周期

    文档https developer android com topic libraries architecture viewmodel sharing https developer android com topic libraries
  • 将 CSV 中的所有列导入为字符?

    简单的问题 PROC IMPORT OUT braw address DATAFILE path address data csv DBMS csv REPLACE GETNAMES YES RUN 该语句将创建数据集列作为字符or数字取决
  • 数据类型“application/json”与“json”[重复]

    这个问题在这里已经有答案了 可能的重复 ajax 数据类型 https stackoverflow com questions 2722750 ajax datatype 我正在使用 jQuery 1 8 2 出于某种原因 applicat
  • 如何将 SQLite3 数据库更改刷新到磁盘?

    我的应用程序在便携式 Debian 5 和 8 计算机上运行 这台计算机可能会在不可预测的时间断电 该应用程序经常更新特定的 SQLite3 数据库 并立即刷新到磁盘 使用sync 命令 这样做是为了避免数据库损坏 这种情况会在更改完全写入
  • layout_gravity 上的动画

    在Android中 是否可以应用动画layout gravity 例如假设我想改变layout gravity of a View e g Button 从右到左
  • 如何在 Capybara 中使用 ruby​​-debug 和 selenium

    我们让 Capybara 使用 selenium 驱动程序 但是当我尝试在步骤中使用 调试器 时 它不太工作 例如在调试控制台中输入 page 有效 但输入 page body 会挂起 当尝试将调试器与 akephalos 驱动程序一起使用
  • Rails 路由中要测试什么?

    我很好奇人们认为什么是充分 彻底的路线测试 和我一起工作的一个人似乎想要断言every路线在我们的路线文件中 无论多么标准 我觉得这是浪费时间 但也许我错了 而且我没有意识到这有一些价值 在某些情况下 我可以看到路由的一些价值 我们仍然有一
  • 后台大JSON优化解析

    我正在解析类似于的大型 JSON 数据像这样的一个 https mangadex org api manga 153 大约有3000 chapter这里的对象 我只需要那些chapter对象与 lang code gb 大约有 1300 个
  • 作为页面发布到 Facebook 页面墙

    我想使用 PHP 作为页面发布到 facebook 页面墙 我通过下面的链接获得了access token https graph facebook com oauth authorize type user agent client id
  • OpenCL 中的最佳本地/全局工作规模

    我想知道如何在 OpenCL 中为不同设备选择最佳的本地和全局工作大小 AMD NVIDIA INTEL GPU 有什么通用规则吗 我是否应该分析设备的物理构建 多处理器数量 多处理器中的流处理器数量等 这取决于算法 实现吗 因为我看到一些
  • 如何以编程方式将视图控制器嵌入到导航视图控制器中

    我正在尝试将视图控制器嵌入到导航视图控制器中 以便获得导航栏和所有其他内容 例如后退按钮 我想以编程方式完成它 它是这样完成的 example ViewController let myVC UIViewController create
  • Xcode:ld:找不到 -lAFNetworking 的库

    由于这个原因 构建总是失败 关于我可以尝试什么的任何想法 编辑 解决方案是打开 xcworkspace 而不是 xcproject 可能是您在安装 pod 后打开 xcodeproj 文件 关闭项目并打开 xcworkspace 文件
  • 从文件输入中查找java中的最大值

    我是Java新手 我正在尝试编写一个程序 要求用户输入仅包含数字的txt文件的名称 该程序将输出文件中数字的总和 平均值 最大值和最小值 我已经编写了程序的大部分内容 但是我一直在尝试找到值的最大值和最小值 您提供的任何信息都会有所帮助 如
  • 运行 sp_executesql 查询需要参数 @statement

    我不确定如何解决此错误 过程或函数 sp executesql 需要参数 statement 但未提供该参数 对于此查询 DECLARE a INT DECLARE b VARCHAR SET a 1 WHILE a lt 30 BEGIN