mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-10 02:28:22 +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.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
|
||||
|
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 (
|
||||
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 (
|
||||
|
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