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"。
可是明明我已经声明了呢 展开
(
@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"。
可是明明我已经声明了呢 展开
2个回答
展开全部
存储过程代码也不贴出来,怎么帮你分析呢?一般出现这种问题的原因是变量没有事先定义就直接赋值,或者语法不对,用set还是select是有讲究的,建议把代码贴出来看看
更多追问追答
追问
贴 上了哈。
追答
你的两个括号是中文符号的括号,应该改成英文的(不知道是不是百度贴出来变了)
@seg varchar(20)
)这个括号是中文的括号
AS
刚才看的时候,好象还没有定义declare @sqltxt varchar(200)
这一行的,是后来加的么。。。。。
2016-08-05
展开全部
大小写 统一 一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询