· 8 years ago · Jul 25, 2018, 07:26 PM
1CREATE TABLE IF NOT EXISTS `invoices`.`_inc_accounts` (
2 `accountsId` INT NOT NULL,
3 `type` VARCHAR(8) NOT NULL,
4 `idPublic` INT NOT NULL,
5 PRIMARY KEY (`accountsId`, `type`),
6 INDEX `fk__inc_accounts1_idx` (`accountsId` ASC),
7 INDEX `fk__inc__inc_types1_idx` (`type` ASC),
8 CONSTRAINT `fk__inc_accounts1`
9 FOREIGN KEY (`accountsId`)
10 REFERENCES `invoices`.`accounts` (`id`)
11 ON DELETE CASCADE
12 ON UPDATE NO ACTION,
13 CONSTRAINT `fk__inc__inc_types1`
14 FOREIGN KEY (`type`)
15 REFERENCES `invoices`.`_inc_account_types` (`_type`)
16 ON DELETE NO ACTION
17 ON UPDATE CASCADE)
18ENGINE = InnoDB;
19
20CREATE TRIGGER `reports_BINS` BEFORE INSERT ON `reports` FOR EACH ROW
21BEGIN
22INSERT INTO _inc_accounts (type, accountsId, idPublic) values ("reports",NEW.accountsId,1)
23 ON DUPLICATE KEY UPDATE idPublic = idPublic + 1;
24 SET NEW.idPublic=(SELECT idPublic FROM _inc_accounts WHERE accountsId=NEW.accountsId AND type="reports");
25END
26
27CREATE TRIGGER `reports_BINS` BEFORE INSERT ON `reports` FOR EACH ROW
28BEGIN
29if(!NEW.idPublic) THEN
30 INSERT INTO _inc_accounts (type, accountsId, idPublic) values ("reports",NEW.accountsId,1)
31 ON DUPLICATE KEY UPDATE idPublic = idPublic + 1;
32 SET NEW.idPublic=(SELECT idPublic FROM _inc_accounts WHERE accountsId=NEW.accountsId AND type="reports");
33END IF;
34END
35
36if(IFNULL(NEW.idPublic, 0) = 0) THEN