SQLSERVER 存储过程中 赋值时出错 提示:必须声明标量变量

ALTERPROCEDURE[dbo].[CutSeg](@txtvarchar(2000),@segvarchar(20))ASBEGINdeclare@MaxSegi... ALTER PROCEDURE [dbo].[CutSeg]
(
@txt varchar(2000),
@seg varchar(20)
)
AS
BEGIN

declare @MaxSeg int
declare @sqltxt varchar(200)
set @sqltxt = 'select @maxseg = max(字段1) from sheet1'
exec (@sqltxt)
end
执行时出错:
消息 137,级别 15,状态 1,第 1 行
必须声明标量变量 "@maxseg"。
可是明明我已经声明了呢
展开
 我来答
百度网友0ba9ea42f
2016-08-05 · TA获得超过240个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:171万
展开全部
存储过程代码也不贴出来,怎么帮你分析呢?一般出现这种问题的原因是变量没有事先定义就直接赋值,或者语法不对,用set还是select是有讲究的,建议把代码贴出来看看
更多追问追答
追问
贴 上了哈。
追答

你的两个括号是中文符号的括号,应该改成英文的(不知道是不是百度贴出来变了)

@seg varchar(20)   
)这个括号是中文的括号
AS

刚才看的时候,好象还没有定义declare @sqltxt varchar(200)

这一行的,是后来加的么。。。。。

匿名用户
2016-08-05
展开全部
大小写 统一 一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式