作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
CREATE PROCEDURE p1
(
IN name_val VARCHAR(255),
OUT iJobID INT
)
BEGIN
IF NOT EXISTS (SELECT id FROM test WHERE id='11')
BEGIN
INSERT INTO test(name) VALUES(name_val);
SET iJobID := LAST_INSERT_ID();
END
ELSE
BEGIN
UPDATE test SET name=name_val WHERE id = 11;
END
INSERT INTO vasu2(vname) VALUES(name_val);
SET @ivD := LAST_INSERT_ID();
INSERT INTO vasu(id, id2) VALUES(iJobID, @ivD);
END;
最佳答案
您正在使用的 IF
语法很可能用于 T-SQL
。此外,您需要更改 delimiter
。
DELIMITER $$
CREATE PROCEDURE p1
(
IN name_val VARCHAR(255),
OUT iJobID INT
)
BEGIN
SET @recCount := (SELECT COUNT(*) FROM test WHERE id = 11);
IF @recCount > 0 THEN
INSERT INTO test(name) VALUES(name_val);
SET iJobID := LAST_INSERT_ID();
ELSE
UPDATE test SET name=name_val WHERE id = 11;
END IF;
INSERT INTO vasu2(vname) VALUES(name_val);
SET @ivD := LAST_INSERT_ID();
INSERT INTO vasu(id, id2) VALUES(iJobID, @ivD);
END $$
DELIMITER ;
关于mysql - IF Else 在存储过程中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14646898/
我是一名优秀的程序员,十分优秀!