* Firebird sample DB script, same for sqlite

git-svn-id: trunk@41634 -
This commit is contained in:
michael 2019-03-08 10:38:24 +00:00
parent 183c0837cc
commit a5f257ad20
4 changed files with 130 additions and 3 deletions

2
.gitattributes vendored
View File

@ -3326,7 +3326,9 @@ packages/fcl-web/examples/restbridge/delphiclient/sqldbrestclient.res -text
packages/fcl-web/examples/restbridge/demorestbridge.lpi svneol=native#text/plain
packages/fcl-web/examples/restbridge/demorestbridge.pp svneol=native#text/plain
packages/fcl-web/examples/restbridge/expenses-data.sql svneol=native#text/plain
packages/fcl-web/examples/restbridge/expenses-fb.sql svneol=native#text/plain
packages/fcl-web/examples/restbridge/expenses-pq.sql svneol=native#text/plain
packages/fcl-web/examples/restbridge/expenses-sqlite.sql svneol=native#text/plain
packages/fcl-web/examples/routing-session/routingsessiondemo.lpi svneol=native#text/plain
packages/fcl-web/examples/routing-session/routingsessiondemo.lpr svneol=native#text/plain
packages/fcl-web/examples/routing/README svneol=native#text/plain

View File

@ -0,0 +1,86 @@
create domain bool smallint check (value in (1,0,Null));
create table ExpenseTypes (
etID bigint not null,
etName varchar(50) not null,
etDescription varchar(100) not null,
etMaxAmount decimal(10,2),
etCost decimal(10,2) default 1,
etActive bool default 1 not null
);
create table Users (
uID bigint not null,
uLogin varchar(50) not null,
uFullName varchar(100) not null,
uPassword varchar(100) not null,
uActive bool default 1 not null
);
create table Projects (
pID bigint not null,
pName varchar(50) not null,
pDescription varchar(100) not null,
pActive bool default 1 not null
);
create table Expenses (
eID bigint not null,
eUserFK bigint not null,
eProjectFK bigint not null,
eTypeFK bigint not null,
eAmount decimal(10,2) not null,
eDate date default 'today' not null,
eComment varchar(1024)
);
create sequence seqExpenseTypesID;
create sequence seqUsersID;
create sequence seqProjectsID;
create sequence seqExpenseID;
alter table ExpenseTypes add constraint pkExpenseTypes primary key (etID);
alter table Users add constraint pkUsers primary key (uID);
alter table Projects add constraint pkProjects primary key (pID);
alter table Expenses add constraint pkExpenses primary key (eID);
SET TERM ^ ;
CREATE TRIGGER ExpenseTypesID FOR ExpenseTypes ACTIVE
BEFORE INSERT POSITION 0
AS
begin
if (NEW.etID is null) then
NEW.etID=GEN_ID(seqExpenseTypesID,1);
end^
CREATE TRIGGER ExpensesID FOR Expenses ACTIVE
BEFORE INSERT POSITION 0
AS
begin
if (NEW.eID is null) then
NEW.eID=GEN_ID(seqExpenseID,1);
end^
CREATE TRIGGER ProjectsID FOR Projects ACTIVE
BEFORE INSERT POSITION 0
AS
begin
if (NEW.pID is null) then
NEW.pID=GEN_ID(seqProjectsID,1);
end^
CREATE TRIGGER UsersID FOR Users ACTIVE
BEFORE INSERT POSITION 0
AS
begin
if (NEW.uID is null) then
NEW.uID=GEN_ID(seqUsersID,1);
end^
set term ^ ;
COMMIT ;

View File

@ -1,4 +1,4 @@
drop table ExpenseTypes;
create sequence seqExpenseTypesID;
create table ExpenseTypes (
etID bigint not null default nextval('seqExpenseTypesID'),
etName varchar(50) not null,
@ -25,8 +25,6 @@ create table Projects (
pActive boolean not null default true
);
create sequence seqExpenseTypesID;
create sequence seqExpenseID;
drop table Expenses;
create table Expenses (

View File

@ -0,0 +1,41 @@
create table t2(id integer primary key autoincrement);
insert into sqlite_sequence (name,seq) values ('seqExpenseTypesID',1);
insert into sqlite_sequence (name,seq) values ('seqExpenseID',1);
insert into sqlite_sequence (name,seq) values ('seqUsersID',1);
insert into sqlite_sequence (name,seq) values ('seqProjectsID',1);
drop table t2;
create table ExpenseTypes (
etID bigint primary key,
etName varchar(50) not null,
etDescription varchar(100) not null,
etMaxAmount decimal(10,2),
etCost decimal(10,2) default 1,
etActive boolean not null default true
);
create table Users (
uID bigint primary key,
uLogin varchar(50) not null,
uFullName varchar(100) not null,
uPassword varchar(100) not null,
uActive boolean not null default true
);
create table Projects (
pID bigint primary key,
pName varchar(50) not null,
pDescription varchar(100) not null,
pActive boolean not null default true
);
create table Expenses (
eID bigint primary key,
eUserFK bigint not null,
eProjectFK bigint not null,
eTypeFK bigint not null,
eAmount decimal(10,2) not null,
eDate date not null default CURRENT_DATE,
eComment varchar(1024)
);