mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
642525b9ad
Author: Alvin Richards
71 lines
2.2 KiB
Text
71 lines
2.2 KiB
Text
create or replace table dept (
|
|
dept_id int(10) primary key,
|
|
name varchar(100)
|
|
)
|
|
with system versioning;
|
|
create or replace table emp (
|
|
emp_id int(10) primary key,
|
|
dept_id int(10),
|
|
name varchar(100),
|
|
salary int(10),
|
|
constraint `dept-emp-fk`
|
|
foreign key (dept_id) references dept (dept_id)
|
|
on delete cascade
|
|
on update restrict
|
|
)
|
|
with system versioning;
|
|
select now() into @ts_0;
|
|
insert into dept (dept_id, name) values (10, "accounting");
|
|
commit;
|
|
select vtq_commit_ts(sys_trx_start) into @ts_1 from dept where dept_id=10;
|
|
insert into emp (emp_id, name, salary, dept_id) values (1, "bill", 1000, 10);
|
|
commit;
|
|
select vtq_commit_ts(sys_trx_start) into @ts_2 from emp where name="bill";
|
|
select * from emp;
|
|
emp_id dept_id name salary
|
|
1 10 bill 1000
|
|
update emp set salary=2000 where name="bill";
|
|
commit;
|
|
select vtq_commit_ts(sys_trx_start) into @ts_3 from emp where name="bill";
|
|
select * from emp;
|
|
emp_id dept_id name salary
|
|
1 10 bill 2000
|
|
select * from emp for system_time as of timestamp @ts_2;
|
|
emp_id dept_id name salary
|
|
1 10 bill 1000
|
|
select * from emp for system_time as of timestamp @ts_3;
|
|
emp_id dept_id name salary
|
|
1 10 bill 2000
|
|
select * from emp e, dept d
|
|
where d.dept_id = 10
|
|
and d.dept_id = e.dept_id;
|
|
emp_id dept_id name salary dept_id name
|
|
1 10 bill 2000 10 accounting
|
|
select * from emp e, dept d
|
|
where d.dept_id = 10
|
|
and d.dept_id = e.dept_id
|
|
query for system_time from timestamp @ts_1 to timestamp @ts_2;
|
|
emp_id dept_id name salary sys_trx_start sys_trx_end dept_id name sys_trx_start sys_trx_end
|
|
select * from emp e, dept d
|
|
where d.dept_id = 10
|
|
and d.dept_id = e.dept_id
|
|
query for system_time as of timestamp @ts_0;
|
|
emp_id dept_id name salary dept_id name
|
|
select * from emp e, dept d
|
|
where d.dept_id = 10
|
|
and d.dept_id = e.dept_id
|
|
query for system_time as of timestamp @ts_1;
|
|
emp_id dept_id name salary dept_id name
|
|
select * from emp e, dept d
|
|
where d.dept_id = 10
|
|
and d.dept_id = e.dept_id
|
|
query for system_time as of timestamp @ts_2;
|
|
emp_id dept_id name salary dept_id name
|
|
1 10 bill 1000 10 accounting
|
|
select * from emp e, dept d
|
|
where d.dept_id = 10
|
|
and d.dept_id = e.dept_id
|
|
query for system_time as of timestamp @ts_3;
|
|
emp_id dept_id name salary dept_id name
|
|
1 10 bill 2000 10 accounting
|
|
drop table emp, dept;
|