mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 11:45:32 +02:00
* Firebird sample DB script, same for sqlite
git-svn-id: trunk@41634 -
This commit is contained in:
parent
183c0837cc
commit
a5f257ad20
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -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.lpi svneol=native#text/plain
|
||||||
packages/fcl-web/examples/restbridge/demorestbridge.pp 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-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-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.lpi svneol=native#text/plain
|
||||||
packages/fcl-web/examples/routing-session/routingsessiondemo.lpr 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
|
packages/fcl-web/examples/routing/README svneol=native#text/plain
|
||||||
|
86
packages/fcl-web/examples/restbridge/expenses-fb.sql
Normal file
86
packages/fcl-web/examples/restbridge/expenses-fb.sql
Normal 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 ;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
drop table ExpenseTypes;
|
create sequence seqExpenseTypesID;
|
||||||
create table ExpenseTypes (
|
create table ExpenseTypes (
|
||||||
etID bigint not null default nextval('seqExpenseTypesID'),
|
etID bigint not null default nextval('seqExpenseTypesID'),
|
||||||
etName varchar(50) not null,
|
etName varchar(50) not null,
|
||||||
@ -25,8 +25,6 @@ create table Projects (
|
|||||||
pActive boolean not null default true
|
pActive boolean not null default true
|
||||||
);
|
);
|
||||||
|
|
||||||
create sequence seqExpenseTypesID;
|
|
||||||
|
|
||||||
create sequence seqExpenseID;
|
create sequence seqExpenseID;
|
||||||
drop table Expenses;
|
drop table Expenses;
|
||||||
create table Expenses (
|
create table Expenses (
|
||||||
|
41
packages/fcl-web/examples/restbridge/expenses-sqlite.sql
Normal file
41
packages/fcl-web/examples/restbridge/expenses-sqlite.sql
Normal 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)
|
||||||
|
);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user