我正在尝试编写一个存储过程,其中我使用2个表来获取基于条件的数据,但它给出了错误。
我的SP是:
DELIMITER //
CREATE PROCEDURE select_notifications(IN datePosted DATETIME,IN recipientId INT,IN packageId INT,IN accountId INT)
BEGIN
IF datePosted < NOW() THEN
SELECT tn.subject_line,tn.message,tn.message_type FROM track_notifications AS tn WHERE tn.package_id=packageId AND tn.recipient_id=recipientId AND tn.account_id=accountId AND tn.date_posted = datePosted;
ELSE IF datePosted > NOW()
SELECT subject_line,message,message_type FROM track_notifications_new WHERE package_id=packageId AND recipient_id=recipientId AND account_id=accountId AND date_posted = datePosted;
END IF;
END
END //
错误:
以下查询失败:“CREATE DEFINER=root
@localhost
PROCEDUREselect_track_notifications
(在datePosted
DATETIME中,在recipientId
INT中,在packageId
INT中,以及在.accountId
INT中)不确定性包含SQL安全定义器,如果dateposteds
请尝试以下方法:
DELIMITER //
DROP PROCEDURE IF EXISTS select_notifications //
CREATE PROCEDURE select_notifications(IN datePosted DATETIME,
IN recipientId INT,
IN packageId INT,
IN accountId INT)
BEGIN
IF datePosted < NOW() THEN
SELECT tn.subject_line,
tn.message,
tn.message_type
FROM track_notifications AS tn
WHERE tn.package_id=packageId AND
tn.recipient_id=recipientId AND
tn.account_id=accountId AND
tn.date_posted = datePosted;
ELSEIF datePosted > NOW() THEN
SELECT subject_line,
message,
message_type
FROM track_notifications_new
WHERE package_id=packageId AND
recipient_id=recipientId AND
account_id=accountId AND
date_posted = datePosted;
END IF;
END //
DELIMITER ;
问题内容: 我可以使用Hibernate条件来调用存储过程吗? 问题答案: 请参阅参考文档中的使用存储过程进行查询。 映射的查询这样来称呼。 映射查询可以返回实体。
问题内容: 我有一个MYSQL存储过程SP1(),它返回一个结果集。 我想在SP2()内部调用SP1()并遍历SP1()的结果集以执行一些其他工作。 我不想从SP1()中包含我的逻辑,因为这会使SP2()过于复杂。 有什么建议么? 谢谢。 问题答案: 您想做的事情听起来并不是特别好,也许您应该考虑重新设计这两个过程。但是,您可以执行以下操作来快速解决此问题: 使您的sp2 sproc将其中间结果写
问题内容: 我有一个用户定义的类型,它是SqlServer数据库中的数据表。我一直在使用Database,DbCommand等调用存储过程并获取数据集。数据集很方便,因为它们可以包含多个表。 现在我想传入一个数据表,所以我尝试了: 但是我收到一个异常,指出“ @BASE_ITEMIDS”不是正确的类型:“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数1(\“ @ BASE_
我需要向3个服务发送消息,并在最后聚合结果 这很容易通过发布订阅频道实现- 当其中一个服务实际上是对其他服务的2次调用时,就会出现问题。现在我想介绍另外的和聚合器。 例如。 因此不会对消息进行分组(逐个发送)。 聚合器1从聚合器2获取结果并发送消息,无需等待service activator组1的消息。 有什么建议吗?
问题内容: MySql存储过程/函数可以在不使用临时表的情况下返回表吗? 创建以下过程 然后用 显示示例表-正如预期的那样-但似乎无法进行以下操作: 是否可以从存储过程/函数中返回查询结果表,如果可以,怎么办? 问题答案: 就目前而言,这是不可能的。 以下是该子句中可能使用的 文档: 如您所见,存储过程不在此列表中。
问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’