答案 0 :(得分:0)
如果编写的过程中的主体中有多个语句,则需要使用class partialImplementationA : public virtual interface {
public:
void fnA() const {cout << "fnA from partial implementation A" << endl;}
};
class partialImplementationB : public virtual interface {
public:
void fnB() const {cout << "fnB from partial implementation B" << endl;}
};
class myClass : public virtual interface,
public partialImplementationA,
public partialImplementationB {
public:
};
。
public function homeTeam() {}
public function awayTeam() {}
public function stadium() {}
....
请注意,我在您的插入语句中更改了{
"id": 15,
"date": "2019-01-01",
"homeTeam": {
"id": 1,
"name": "Super Team"
},
"awayTeam": {
"id": 2,
"name": "Another Team"
}
}
。不必使用select,而且如果不将其放在带有括号的子查询中,就无法做到这一点。
我还有更多评论:
确保您的IN参数名称与列名称不同,否则您可能会创建模糊的SQL语句,即MySQL不知道您是指BEGIN...END
in参数还是{{1 }}存款表中的列。这不是错误,但可能会插入NULL,因为它使用的是不存在的行中的CREATE PROCEDURE addItemToRepository(IN name VARCHAR(50), IN rfid VARCHAR(20),
IN type VARCHAR(20), IN manufacturer INT, IN model VARCHAR(30), IN toRent TINYINT)
NOT DETERMINISTIC MODIFIES SQL DATA SECURITY DEFINER
BEGIN
SET @typeid = (SELECT id FROM dictionary WHERE value = type LIMIT 1);
INSERT INTO depository (name, rfidtag, type, manufacturer, model, torent)
VALUES (name, rfid, @typeid, manufacturer, model, torent);
END
。因此,我建议习惯在以“ p”之类的前缀表示参数的参数中命名。
声明局部变量,而不使用会话变量。 MySQL对它们的区别对待。
考虑使用其他select(@typeid)
语法。
这是我的建议:
manufacturer