[style] \t to ' ' in sql file
This commit is contained in:
parent
d94318dc50
commit
1aeaf29b01
1 changed files with 42 additions and 42 deletions
|
|
@ -1,68 +1,68 @@
|
|||
CREATE TABLE IF NOT EXISTS var_type (
|
||||
slabel CHAR(1) UNIQUE PRIMARY KEY,
|
||||
label VARCHAR(10) UNIQUE,
|
||||
type VARCHAR(10) NOT NULL,
|
||||
start_address INT NOT NULL DEFAULT 0,
|
||||
end_address INT NOT NULL DEFAULT 250
|
||||
slabel CHAR(1) UNIQUE PRIMARY KEY,
|
||||
label VARCHAR(10) UNIQUE,
|
||||
type VARCHAR(10) NOT NULL,
|
||||
start_address INT NOT NULL DEFAULT 0,
|
||||
end_address INT NOT NULL DEFAULT 250
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS variable (
|
||||
type CHAR(1) NOT NULL,
|
||||
address INT NOT NULL,
|
||||
unit VARCHAR(5) NULL,
|
||||
last_update INT NULL,
|
||||
type CHAR(1) NOT NULL,
|
||||
address INT NOT NULL,
|
||||
unit VARCHAR(5) NULL,
|
||||
last_update INT NULL,
|
||||
|
||||
|
||||
FOREIGN KEY (type) REFERENCES var_type(slabel)
|
||||
ON DELETE CASCADE,
|
||||
PRIMARY KEY(type, address)
|
||||
FOREIGN KEY (type) REFERENCES var_type(slabel)
|
||||
ON DELETE CASCADE,
|
||||
PRIMARY KEY(type, address)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS var_value (
|
||||
type CHAR(1) NOT NULL,
|
||||
address INT NOT NULL,
|
||||
time INT DEFAULT CURRENT_TIMESTAMP,
|
||||
value INT NOT NULL,
|
||||
type CHAR(1) NOT NULL,
|
||||
address INT NOT NULL,
|
||||
time INT DEFAULT CURRENT_TIMESTAMP,
|
||||
value INT NOT NULL,
|
||||
|
||||
FOREIGN KEY (type) REFERENCES variable(type)
|
||||
ON DELETE CASCADE,
|
||||
FOREIGN KEY (address) REFERENCES variable(address)
|
||||
ON DELETE CASCADE,
|
||||
PRIMARY KEY(type, address, time)
|
||||
FOREIGN KEY (type) REFERENCES variable(type)
|
||||
ON DELETE CASCADE,
|
||||
FOREIGN KEY (address) REFERENCES variable(address)
|
||||
ON DELETE CASCADE,
|
||||
PRIMARY KEY(type, address, time)
|
||||
);
|
||||
|
||||
INSERT INTO var_type (slabel, label, type, start_address, end_address) VALUES (
|
||||
'A', 'Analog', 'float', 1, 5000);
|
||||
'A', 'Analog', 'float', 1, 5000);
|
||||
INSERT INTO var_type (slabel, label, type, start_address, end_address) VALUES (
|
||||
'I', 'Integer', 'int', 5002, 10002);
|
||||
'I', 'Integer', 'int', 5002, 10002);
|
||||
INSERT INTO var_type (slabel, label, type, start_address, end_address) VALUES (
|
||||
'D', 'Digital', 'bool', 1, 2048);
|
||||
'D', 'Digital', 'bool', 1, 2048);
|
||||
|
||||
CREATE TRIGGER variable_insert BEFORE INSERT ON var_value
|
||||
FOR EACH ROW
|
||||
WHEN
|
||||
NOT EXISTS (
|
||||
SELECT MAX(time) FROM var_value
|
||||
WHERE
|
||||
NEW.type = type
|
||||
AND
|
||||
NEW.address = address
|
||||
AND
|
||||
NEW.value = value
|
||||
)
|
||||
NOT EXISTS (
|
||||
SELECT MAX(time) FROM var_value
|
||||
WHERE
|
||||
NEW.type = type
|
||||
AND
|
||||
NEW.address = address
|
||||
AND
|
||||
NEW.value = value
|
||||
)
|
||||
BEGIN
|
||||
INSERT INTO var_value
|
||||
(type, address, value)
|
||||
VALUES (NEW.type, NEW.address, NEW.value);
|
||||
INSERT INTO var_value
|
||||
(type, address, value)
|
||||
VALUES (NEW.type, NEW.address, NEW.value);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER variable_last_update AFTER INSERT ON var_value
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE variable
|
||||
SET last_update = NEW.time
|
||||
WHERE
|
||||
type = NEW.type
|
||||
AND
|
||||
address = NEW.address;
|
||||
UPDATE variable
|
||||
SET last_update = NEW.time
|
||||
WHERE
|
||||
type = NEW.type
|
||||
AND
|
||||
address = NEW.address;
|
||||
END;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue