SQL存储过程定义的变量赋值问题

我在存储过程里定义了变量wcfyNUMBER;然后有写了一个赋值语句wcfy:=selectsum(ZSF+QTFY+CCF+CCBZFY+WCRLF)fromLQSHD... 我在存储过程里定义了变量
wcfy NUMBER;
然后有写了一个赋值语句
wcfy:=select sum(ZSF+QTFY+CCF+CCBZFY+WCRLF) from LQSHDWCSQD where WCDH=dh_in;
为什么老是提示我下面这种东西?是什么意思?

错误:PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:

( - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternatively-quo
行:2935
文本:wcfy:=select sum(ZSF+QTFY+CCF+CCBZFY+WCRLF) from LQSHDWCSQD where WCDH=dh_in;
sum(ZSF+QTFY+CCF+CCBZFY+WCRLF)这里面的字段都是NUMBER类型的

刚才试了isnull这种方法不行哦~而且NUMBER也是数值型的,不可能存在NULL的。也试过用CAST来强制转换了,也不行。

如果都是NUMBER类型的话也可以不用SUM,但是现在出错的问题不是这个问题~
展开
 我来答
展风一号
2010-01-10
知道答主
回答量:21
采纳率:0%
帮助的人:13.3万
展开全部
你都把字段值加起来了,那还要SUM()函数干嘛呢?直接写成wcfy:=select ZSF+QTFY+CCF+CCBZFY+WCRLF from LQSHDWCSQD where WCDH=dh_in;
就可以了(如果字段ZSF,QTFY,CCF,CCBZFY,WCRLF是在一条记录里的话 )。
TableDI
2024-07-18 广告
在Excel中,使用`VLOOKUP`函数进行单一条件查找非常常见,但`VLOOKUP`本身并不直接支持双重条件。然而,你可以通过一些间接方法实现。一种方法是将两个条件合并为一个标识符(例如,通过连接或串联),然后在另一个区域中查找此标识符... 点击进入详情页
本回答由TableDI提供
walkmens
2010-01-10 · TA获得超过452个赞
知道小有建树答主
回答量:489
采纳率:100%
帮助的人:262万
展开全部
SQL中好像没有number型的吧,接近一点的话有个,numeric浮点型,鄙人愚昧!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知识海洋畅想店
推荐于2016-11-12 · TA获得超过193个赞
知道小有建树答主
回答量:267
采纳率:100%
帮助的人:164万
展开全部
wcfy:=select sum(isnull(ZSF,0)+isnull(QTFY+isnull(CCF,0)+isnull(CCBZFY,0)+isnull(WCRLF,0)) from LQSHDWCSQD where WCDH=dh_in;

换成这样试试
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式