0
我有以下查询运行针对MySQL的:传递值是否存在另一个插入查询的MySQL
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `mybook_store`.`myProc`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
DECLARE authId INT DEFAULT 0;
DECLARE
DECLARE CheckExists INT DEFAULT 0;
SET CheckExists = 0;
SELECT COUNT(*) INTO CheckExists FROM author WHERE fname = 'xxxx' AND surname='xxxx';
IF (CheckExists > 0) THEN
SELECT authorid INTO authId FROM author WHERE fname = 'xxxx' AND surname='xxxx';
ELSE
INSERT author(fname, surname) VALUES('xxxx', 'xxxx');
SET authId = LAST_INSERT_ID();
END IF;
END$$
DELIMITER ;
如果作者表中存在插入的作者如果不是,如果存在,将它插入上面的查询将检查不会插入... 我的问题:
- 我想获得FNAME和姓氏是否存在变量,然后 插入其中插入到另一个表中的另一个查询需要 2个变量如何将它传递给查询?
- 我应该使用authorid如果存在然后选择属于authorid的fname和姓氏 ?
- 我可以声明参数而不是实际值'xxxx'吗?
感谢你的帮助