SQL 过程没有参数并且提供了参数

2023-12-07

这是存储过程和我的执行的代码。当我尝试执行命令时,我不断收到此消息:

消息 8146,级别 16,状态 2,过程 sp_LabelFilm,第 0 行
过程 sp_LabelFilm 没有参数,但已提供参数。

知道为什么吗?我正在尝试更新表 tblfilm 中的一列,以根据电影的运行时间判断电影是短、中还是长。

ALTER PROCEDURE [dbo].[sp_LabelFilm]
AS
BEGIN
    DECLARE @Minutes INT, @duration char(10)

    DECLARE Filmcursor CURSOR FOR 
        (SELECT filmruntimeminutes, Duration FROM tblFilm)

    OPEN filmcursor

    FETCH NEXT FROM filmcursor INTO @duration

    WHILE (@@FETCH_STATUS = 0)
    BEGIN
        SELECT @Minutes = FilmRunTimeMinutes FROM tblFilm

        IF @Minutes < 120 
            SET @duration = 'short' 
        ELSE IF @Minutes < 150
            SET @duration = 'medium'
        ELSE
            SET @duration = 'long'

        FETCH NEXT FROM filmcursor INTO @duration

        UPDATE tblFilm 
        SET Duration = @duration
    END

    CLOSE filmcursor
    DEALLOCATE filmcursor
END



DECLARE @Minutes INT, @duration CHAR(10)

EXECUTE [dbo].[sp_LabelFilm] @minutes, @duration

该错误的含义与它所说的完全一样。您正在传递参数(变量@minutes and @duration)但存储过程中没有定义参数。

要声明参数(输入变量),您实际上是在AS像这样:

use Movies
go

alter PROC [dbo].[sp_LabelFilm]
    @Minutes INT
    ,@duration CHAR(10)
AS

BEGIN


DECLARE Filmcursor  CURSOR 
......

请注意,您不需要使用关键字DECLARE一旦它们被声明为参数,您实际上不需要再次声明它们。

接下来,我不完全确定您试图使用存储过程中的参数来完成什么,但实际上看起来您不想传递它们,而是希望将它们作为输出获取,如下所示:

use Movies
go

alter PROC [dbo].[sp_LabelFilm]
    @Minutes INT OUTPUT
    ,@duration CHAR(10) OUTPUT
AS

BEGIN


DECLARE Filmcursor  CURSOR 
....

你的执行语句将如下所示:

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

SQL 过程没有参数并且提供了参数 的相关文章

  • 避免数据集中出现重复名称

    我正在从表中获取数据并绑定到标签并在 gridview 中下拉 但我想从表中过滤重复的名称并将相应的日期分配给 DDL 如何做到这一点 或者还有其他选择吗 private DataSet get string sql select Id N
  • 从 SQL Server 读取十进制值时出现溢出异常

    我想知道这是一个错误还是我做错了什么 我正在加载值SqlDataReader来自 SQL Server 2008 数据库 但在某些情况下 它无法将 SQL 值转换为 net 值 NET 4 0 我已将其追溯到一个测试用例 它演示了实际问题
  • 如何在 SQL Server 中创建文件格式

    我正在尝试在 SQL Server 2017 中试验外部文件 但在第一步中遇到了困难 数据是管道分隔的 我试图遵循文档中的语法 这需要一个FILE FORMAT 以下是 Microsoft 的语法 CREATE EXTERNAL TABLE
  • SQL Server lat;lng varchar 分割过程用作 Lat 和 Lng 以提高搜索速度

    有人可以帮助我使用存储过程或函数来传递我的存储varchar表中的 lat lng 到各个字段作为浮点数作为 Lat 和 Lng 以在半径搜索中使用 lanlng in Table 33 0000 15 222222 Thanks 你只是想
  • 如何使用 R 中的函数 sqlSave() 将数据附加到具有 IDENTITY 主键的 SQL Server 表?

    我在SQL Server中创建了一个表 如下所示 CREATE TABLE testPK ID INT NOT NULL IDENTITY 1 1 PRIMARY KEY NumVal NUMERIC 18 4 现在我想使用 RODBC 函
  • SQL Server Management Studio v18 的命令行参数登录

    使用 SQL Server 身份验证时是否仍然可以从命令行打开 SQL Server Management Studio v18 根据微软的发行说明 由于安全风险 他们删除了 P 命令行参数 因此 可以从命令行使用 SQL Server 身
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2
  • 批量插入不适用于 NULL 数据

    当我从 CSV 文件将批量数据插入到表中时 它不起作用 显示错误 第 2 行第 9 列的批量加载数据转换错误 类型不匹配或指定代码页的字符无效 csv 文件中的第 9 列值为空 我该如何处理这个问题 根据这些信息 我认为目标表的特定字段被定
  • 在 azure Devops 管道中部署 SQL 时遇到错误

    我在 azure Devops 的发布管道中使用 sql DACPAC 类型的部署 但出现以下错误 我对 SQL 不了解 有什么建议吗 Publishing to database database name on server Serve
  • SQL Server 大小写/排序规则问题

    今天我在客户数据库中遇到了一个奇怪的情况 SQL Server 2005 数据库排序规则不区分大小写 因此我可以使用任何大小写编写 SQL 查询 没有任何问题 除了一个 一张特定表中的一个特定列称为 DeadZone 如果我这样查询 从表名
  • 如何连接子查询的第一行?

    我有一个发票表和一个按键关联的相关数据的子表 特别是 对于每张发票 我只对子表中的第一个相关行感兴趣 鉴于我想要每个发票键都有一个相关行 我该如何实现这一点 Select i Invoice Number c Carrier Name Fr
  • 对于返回超过1个值的SQL select,当Id为GUID时它们如何排序?

    我想知道 SQL Server 如何对查询返回的数据进行排序 并且各个表的 Id 列都是 uniqueidentifier 类型 我在创建所有 GUID 时使用 NHibernate GuidComb 并执行以下操作 Sheet sheet
  • SQL Server Like 查询不区分大小写

    Query SELECT from Table 2 WHERE name like Joe Output 1 100 Joe 2 200 JOE 3 300 jOE 4 400 joe 为什么不区分大小写 Problem 查询不区分大小写
  • Docker 中的 Web api 无法连接到主机上的 SQL Server,并出现登录前握手错误

    首先有一些类似的问题 但我已经尝试了我能找到的所有建议 但似乎没有任何效果 如果你能找到我没有提到的 请评论 我会尝试一下 概要是我正在尝试将 Docker 容器中的 NET Core 3 1 Web api 连接到主机上的 SQL Ser
  • 从 Django 调用 Postgres SQL 存储过程

    我正在开发一个带有 Postgresql 数据库的 Django 项目 我编写了一个可以在 Postgres 上完美运行的存储过程 现在我想从 Django 1 5 调用该存储过程 我已经编写了代码 但它提示错误 CREATE FUNCTI
  • 有没有办法设置 SQL Server 作业计划每 30 秒运行一次?

    当我尝试创建计划时 我可以选择的最短时间是 1 分钟 有没有办法将其减少到秒 这篇文章在这里SQL Server 作业调度 http www sqlservercentral com articles Administration sqls
  • 如何删除 Sql Server 2005 中存在的临时 SP

    我的问题很简单 如何删除临时存储过程 如果存在 这是因为当我在脚本中创建临时 SP 时 它会在第二次运行时抛出类似 数据库中已存在名为 sp name 的对象 的错误 我不想向用户显示此消息 请帮我 您的解决方案受到高度赞赏 临时进程的删除
  • SQL Server 中高效的字符串后缀搜索?

    我想找到与谓词匹配的所有行MyColumn LIKE FooBar 但通过使用索引查找而不是扫描 一种方法本质上是创建 MyColumn 的反向版本并搜索反向模式 ooF 在该列上 在反向列上有一个常规索引 然而 我不喜欢手动创建这个反向列
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00

随机推荐

  • Android 显示日期从一周到另一周(周四到周四)

    这两天我一直被这个问题困扰 我的问题是 如何显示一周到另一周 周四到周四 的日期 例如 1 30 2014 to 2 6 2014 or 30 jan 2014 to 6 feb 2014 当一周结束时 它会发生变化 例如 2 6 2014
  • git windows 拉取后

    我最近从 svn 转换过来 我的服务器在 Windows 下 别怪我 这不是我的选择 我创建了一个具有两个分支 master 和 stable 的存储库 在我的服务器上 我想从稳定分支获取文件 我已经做好了 git clone git ur
  • 如何将 JQuery Datatable.net 与 ASP.Net 4 Razor 和 Twitter Bootstrap 结合使用

    我想将 jQuery Datatable 与 ASP net MVC 和 Twitter bootstrap 一起使用 有人已经这样做了吗 这可能是一篇旧文章 但我只是想补充一下我是如何设置的 看起来比codea上面的做法要简单一些 1 在
  • C++11 及更高版本中是否存在 FENV_ACCESS 编译指示?

    阅读错误报告clang 不支持 FENV ACCESS pragma我遇到过一个comment 设置舍入模式而不使用 pragma STDC FENV ACCESS ON调用未定义的行为 参见 C11 7 6 1 2 这个编译指示在 C 中
  • 如何在 Flutter Camera Plugin 中实现 Tap To Focus?

    一个非常简单的问题 如何为 Flutter 相机插件实现点击对焦功能 我在整个万维网上搜索了解决方案 但一无所获 有人有想法吗 您必须使用相机控制器方法手动设置焦点 controller setFocusPoint offset 查看官方A
  • Java 导入中的通配符如何工作?

    我注意到我的一些意想不到的结果imports 我希望了解到底发生了什么 我从以下几点开始 import java util import java io import java nio import java nio file Path i
  • 当光标悬停在 Flex 应用程序上时禁用鼠标滚轮滚动?

    当光标位于 Flex 应用程序上时 是否可以在网页上禁用鼠标滚轮滚动 我的 Flex 应用程序是一个地图 允许用户使用鼠标滚轮放大和缩小 但是 当我将 Flex 应用程序放到网页上时 滚轮会导致页面滚动而不是放大和缩小 Edit 我已经向我
  • 使用 Linq 和 C#,是否可以连接两个列表,但每个项目都交错?

    有两个相同对象类型的列表 我想使用交错模式加入他们 其中i第一个列表的项目由j第二个列表中的项目 在本质上 第一份清单 a b c d e f g h 第二个清单 0 1 2 3 4 其中第一个列表的分组计数为 3 第二个列表的分组计数为
  • Pandas:制作带有百分比的数据透视表

    我有数据框 ID url used at active seconds domain 61a77f9e5fd52a50c10cd2d4d886ec68 mazdaspb ru 2015 01 6 mazdaspb ru 61a77f9e5f
  • 在父上下文与子上下文中声明 Spring Bean

    我有一个 spring bean dao 对象 我通过以下 xml 在 ServletContext 中实例化它
  • python ECDSA 和 C micro-ecc 库之间的 ECDSA 签名和验证问题

    当我执行以下操作时 我遇到问题 使用 python 创建 ECDSA SECP256k1 曲线的公钥对并将其打印在终端上 将密钥对复制粘贴到 Python 脚本和 Visual Studio 中 使用 micro ecc 库的 C 编码 因
  • IPython 笔记本中的标准输出与 CLI IPython

    从笔记本单元运行时 不会显示命令结果 来自 IPython 笔记本 os system pwd 0 从 CLI 调用的 IPython In 15 os system pwd Users joe Out 15 0 我期待看到 Users j
  • Firebase 电子邮件验证未更新状态

    我在我的应用程序中使用 Firebase 身份验证 用户可以使用电子邮件和密码进行注册 并且他必须验证电子邮件 用户收到验证邮件 但当他验证邮件并返回应用程序时 isEmailVerified 始终为 false 因此 尽管用户已经验证了他
  • Google Apps 脚本 Web 应用程序能否获取用户的语言和时区?

    作为 Web 应用程序发布的 GAS 是否有可能以活动用户的身份执行并使用 Ui 服务作为用户界面来获取用户的首选语言和时区 Session getActiveUser 有效 但您只能收到电子邮件Session getActiveUser
  • 使用模型 ID 列表调用 django Rest API

    我正在尝试找出使用这些模型 ID 列表查询特定模型端点的最佳方法 我知道我可以使用 url markers id 中的 id 查询详细端点 但我希望能够一次发布多个 id 并使用这些 id 从模型实例接收数据 截至目前 我创建了一个自定义
  • 在 Java Applet 中加载图像

    当我尝试在小程序查看器中运行小程序时 它无法找到资源 图像 我尝试像这样加载资源 String cb this getCodeBase toString String imgPath cb com blah Images a png Sys
  • JavaScript:当函数被调用“提交”时,表单 onSubmit 不起作用

    我试图在单击表单的提交按钮时调用 JavaScript 函数 由于某种原因 该函数在被命名为 submit 时不会被调用 但当它被命名为其他任何名称时 它就会起作用 我还应该注意到 当按钮从表单标签中取出时 该功能也可以工作 谁能解释一下为
  • 从 chrome webdriver (python) 访问 getEventListeners

    Aim 从 selenium webdriver 获取附加到节点的所有事件 我正在使用 selenium python 并且我想执行一个 javascript 脚本 通过driver execute script my js script
  • RxJS 序列相当于promise.then()?

    我曾经开发过很多有承诺的东西 现在我正在转向 RxJS RxJS 的文档没有提供关于如何从承诺链转移到观察者序列的非常清晰的示例 例如 我通常会编写包含多个步骤的承诺链 例如 a function that returns a promis
  • SQL 过程没有参数并且提供了参数

    这是存储过程和我的执行的代码 当我尝试执行命令时 我不断收到此消息 消息 8146 级别 16 状态 2 过程 sp LabelFilm 第 0 行过程 sp LabelFilm 没有参数 但已提供参数 知道为什么吗 我正在尝试更新表 tb