首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中创建sproc变量的选项?

问在mysql中创建sproc变量的选项?
EN

Stack Overflow用户
提问于 2020-02-04 15:48:13
回答 1查看 20关注 0票数 0

我有一个带有多个选择和结果集的sproc。sproc中的最后一个查询需要选择一个表在当前月份的第一天创建日期>=的数据。我有SQL,它成功地按预期返回了这个月的第一天。我需要将这个值选择到sproc变量FirstDayOfTheMonth中,然后在sproc中随后的select语句的WHERE子句中引用这个变量。在sproc中的最终结果集中之前,我包括了以下SQL,但似乎MySQL不喜欢它的一些内容--关于它的结构、位置或语法:

代码语言:javascript
复制
DECLARE FirstDayOfMonth INT DEFAULT 0;
SET FirstDayOfMonth = (SELECT DATE_SUB(LAST_DAY(NOW()),INTERVAL DAY(LAST_DAY(NOW()))- 1 DAY)

如何更新对MySQL sproc变量的现有尝试,以便我的sproc使用此变量声明成功编译?

更新

我试图在sproc中的BEGIN关键字后面放置以下2行:

代码语言:javascript
复制
DECLARE FirstDayOfMonth INT DEFAULT 0;
SET FirstDayOfMonth = (SELECT DATE_SUB(LAST_DAY(NOW()),INTERVAL DAY(LAST_DAY(NOW()))- 1 DAY)

MySQL工作台在SET语句上显示一个错误:

FirstDayOfMonth在此位置无效,因为需要标识符。

你知道我需要做些什么吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-04 15:52:28

DECLARE-statements需要在过程的开头,在其他任何东西之前,就在BEGIN之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60060971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档