54 lines
1.5 KiB
SQL
54 lines
1.5 KiB
SQL
-- ========================================================
|
|
-- First Example Entity with History
|
|
-- --------------------------------------------------------
|
|
|
|
CREATE TABLE IF NOT EXISTS customer (
|
|
"id" SERIAL PRIMARY KEY,
|
|
"reference" int not null unique, -- 10000-99999
|
|
"prefix" character(3) unique
|
|
);
|
|
|
|
CALL create_historicization('customer');
|
|
|
|
|
|
-- ========================================================
|
|
-- Second Example Entity with History
|
|
-- --------------------------------------------------------
|
|
|
|
CREATE TABLE IF NOT EXISTS package_type (
|
|
"id" serial PRIMARY KEY,
|
|
"name" character varying(8)
|
|
);
|
|
|
|
CALL create_historicization('package_type');
|
|
|
|
-- ========================================================
|
|
-- Third Example Entity with History
|
|
-- --------------------------------------------------------
|
|
|
|
CREATE TABLE IF NOT EXISTS package (
|
|
"id" serial PRIMARY KEY,
|
|
"name" character varying(5),
|
|
"customer_id" INTEGER REFERENCES customer(id)
|
|
);
|
|
|
|
CALL create_historicization('package');
|
|
|
|
|
|
-- ========================================================
|
|
-- query historical data
|
|
-- --------------------------------------------------------
|
|
|
|
|
|
ABORT;
|
|
BEGIN TRANSACTION;
|
|
SET LOCAL hsadminng.currentUser TO 'mih42_customer_aaa';
|
|
SET LOCAL hsadminng.currentTask TO 'adding customer_aaa';
|
|
INSERT INTO package (customer_id, name) VALUES (10000, 'aaa00');
|
|
COMMIT;
|
|
-- Usage:
|
|
|
|
SET hsadminng.timestamp TO '2022-07-12 08:53:27.723315';
|
|
SET hsadminng.timestamp TO '2022-07-12 11:38:27.723315';
|
|
SELECT * FROM customer_hv p WHERE prefix = 'aaa';
|