【发布时间】:2012-06-24 06:35:48
【问题描述】:
我正在尝试以下操作,但无法找出问题所在:
IF( IFNULL(
SELECT * FROM vertreter AS ag
WHERE ag.iln = param_loginID
AND ag.verkaeufer = param_sellerILN
),
UPDATE vertreter AS agUp
SET agUp.vertreterkennzeichen
WHERE agUp.iln = param_loginID AND agUp.verkaeufer = param_sellerILN
,
INSERT INTO vertreter AS agIn
( agIn.iln, agIn.verkaeufer, agIn.vertreterkennzeichen, agIn.`status` )
VALUES
( param_loginID, param_sellerILN, param_agentID, 'Angefragt' )
);
问题:
这是否有可能,检查 SELECT 是否返回 NULL,然后根据情况执行 A 或 B?
【问题讨论】:
-
IFNULL只能用于列,不能用于行。你想达到什么目标? PS:您不能在一个查询中将更新与插入和选择混合使用 -
您可能需要一个存储过程来实现这一点
-
@zerkms:我需要检查一个条目是否在表“vertreter”中,如果是,我需要更新条目,如果不是,我需要创建一个新条目。以上内容已经在存储过程中。只是无法让它工作。感谢您的帮助!