我是sql新手。查询中的错误是必须声明标量变量[英] i m new in sql. i hv error in my query is must declare scalar variable

本文是小编为大家收集整理的关于我是sql新手。查询中的错误是必须声明标量变量的处理方法,想解了我是sql新手。查询中的错误是必须声明标量变量的问题怎么解决?我是sql新手。查询中的错误是必须声明标量变量问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我在 sql 查询中有错误消息.msg 是

消息 137,第 15 级,状态 2,第 1 行
必须声明标量变量"@emp_name".
消息 137,第 15 级,状态 2,第 3 行
必须声明标量变量"@emp_name".
消息 137,第 15 级,状态 2,第 4 行
必须声明标量变量"@emp_add".
消息 137,第 15 级,状态 2,第 8 行
必须声明标量变量"@emp_name".

请告诉我如何解决这些错误.我的查询是

---声明光标声明 @emp_name varchar(40)声明 @emp_add varchar(40)---定义光标声明 cursor_employee 光标 forselect emp_name,emp_add from 雇员---打开一个游标打开 cursor_employee---获取光标fetch next from cursor_employee 进入 @emp_name,@emp_add打印 '*emp_name='+ @emp_name打印 'emp_add='+ @emp_addwhile(@@fetch_status=0)开始---获取下一行的光标fetch next from cursor_employee 进入 @emp_name,@emp_addend

推荐答案

你好,
我想你忘了选择这个游标的声明部分,这就是发生错误的原因.您必须选择所有光标,然后执行.它将成功执行.
因为我已经这样做了,所以它运行成功了.

祝你好运

嗨,拉希德,

请检查@emp_name,emp_add.

我对另一个表尝试了相同的查询.但我得到了答案

请检查.

<pre lang="sql">声明@taskid varchar(40)声明 @asssto varchar(40)---定义光标声明 cursor_employee 光标 forselect taskid,asssto from tasklist---打开一个游标打开 cursor_employee---获取光标fetch next from cursor_employee 进入 @taskid,@asssto打印 @taskid打印 @assstowhile(@@fetch_status=0)开始---获取下一行的光标fetch next from cursor_employee 进入 @taskid,@asssto结束关闭 cursor_employeedeallocate cursor_employee

代码运行良好.我相信您在执行或评论时忘记包含这些行.


声明 @emp_name varchar(40)声明 @emp_add varchar(40)

本文地址:https://www.itbaoku.cn/post/1355788.html

相关标签/搜索