SHOP Windows XP . Delphi 2009, Firebird 2.5, IBExpert.
:
) ;
) ;
) ;
) .
7.6
.
1. .
( .1). . , , . , ʻ ( .2). , , ( .3). , , ʻ ( .4). . . , ( .5). , ( .6).
2. , , , , , . ( .7). ( .8). , , , , , , , ( .9). , ʻ ( .10), ( .11).
, ( .12). ( .13). ( .14). ʻ .
, , ( .15). , ( .16). , , , .
|
|
, ( .16). ( .17), ( .18), 1200 ( .19), ( .19). , , ( .17), ( .20). , ( .18). ( .21). , 1200, 1200 ( .19). ( .22). , ( .19). , ( .23).
, ( .24).
. ( .25) , ( .26). ( .27). ( .28).
SHOP , : ( .29), ( .30), ( .31). ( .31) ( .32) . ( .30) ( .33) , ( .34) , . ( .35). ( .36).
8.2
Windows XP .
, . Firebird 2.5 , . Firebird, , .
8.1
. , , .
|
|
. , , . :
- ;
- ;
- ;
- .
8.2
Windows XP .
, . Firebird 2.5 , . Firebird, , . Windows XP/7/8.
. , , : , , , : . :
- - , , , , , ;
- - , , ;
- ;
- ;
- ;
- .
1. .
( .1). . , , . , ʻ ( .2). , , ( .3). , , ʻ ( .4). . . , ( .5). , ( .6).
2. , , , , , . ( .7). ( .8). , , , , , , , ( .9). , ʻ ( .10), ( .11).
, ( .12). ( .13). ( .14). ʻ .
|
|
, , ( .15). , ( .16). , , , .
, ( .17). ( .18), ( .19), 1200 ( .20), ( .20). , , ( .18), ( .21). , ( .19). ( .22). , 1200, 1200 ( .20). ( .23). , ( .20). , ( .24).
, ( .25).
. ( .26) , ( .27). ( .28). ( .29).
SHOP , : ( .30), ( .31), ( .32). ( .32) ( .33) . ( .31) ( .34) , ( .35) , . ( .36). ( .37).
8.4
. , , , .
, , , . , . .
Delphi, - .
|
|
1. .., .., .. Open ModelSphere. - : , 2011. - 76 .
2. .., .., .. . . - : , 2010. - 110 .
3. http://dep_ivs.pnzgu.ru/
()
( )
unit main001;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, ComCtrls, ExtCtrls, Grids, DBGrids, ActnList, DM;
type
TfmMain = class(TForm)
Panel1: TPanel;
StatusBar1: TStatusBar;
buExit: TButton;
buRefresh: TButton;
DBGrid1: TDBGrid;
buAdd: TButton;
buEdit: TButton;
buDelete: TButton;
MainMenu1: TMainMenu;
mFile: TMenuItem;
mExit: TMenuItem;
mRefresh: TMenuItem;
ActionList1: TActionList;
acQuit: TAction;
acRefresh: TAction;
mTable: TMenuItem;
mInsert: TMenuItem;
mUpdate: TMenuItem;
mDelete: TMenuItem;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
DBGrid2: TDBGrid;
chbFiltr: TCheckBox;
edFilter: TEdit;
Panel2: TPanel;
N1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure acQuitExecute(Sender: TObject);
procedure acRefreshExecute(Sender: TObject);
procedure buAddClick(Sender: TObject);
procedure buEditClick(Sender: TObject);
procedure buDeleteClick(Sender: TObject);
procedure mInsertClick(Sender: TObject);
procedure mUpdateClick(Sender: TObject);
procedure mDeleteClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure chbFiltrClick(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
uses Add, Edit, EditPrep, AddPrep, Zaproci;
{$R *.dfm}
procedure TfmMain.acQuitExecute(Sender: TObject);
begin
Application.Terminate;
end;
procedure TfmMain.acRefreshExecute(Sender: TObject);
begin
with dm1 do
begin
// dstVid_Voisk
dstAssortiment.FullRefresh;
dstIsgotovitel.FullRefresh;
// Vid_Voisk
StatusBar1.Panels[1].Text:= IntToStr(dstAssortiment.RecordCount);
end;
end;
procedure TfmMain.buAddClick(Sender: TObject);
begin
// Add
fmAdd:= TfmAdd.Create(Application);
//
if fmAdd.ShowModal = mrOK then
begin
//
dm1.dstAssortiment.Post;
StatusBar1.Panels[1].Text:= IntToStr(dm1.dstAssortiment.RecordCount);
end
//
else dm1.dstAssortiment.Cancel;
end;
procedure TfmMain.buDeleteClick(Sender: TObject);
begin
with dm1 do
begin
if dstAssortiment.RecordCount= 0 then exit;
if Application.MessageBox(' ?', '',
MB_YESNO) = mrYes then dstAssortiment.Delete;
StatusBar1.Panels[1].Text:= IntToStr(dstAssortiment.RecordCount);
end;
end;
procedure TfmMain.buEditClick(Sender: TObject);
begin
//
if dm1.dstAssortiment.RecordCount = 0 then exit;
// fmEdit
fmEdit:= TfmEdit.Create(Application);
//
if fmEdit.ShowModal = mrOK then
begin
//
dm1.dstAssortiment.Post;
StatusBar1.Panels[1].Text:= IntToStr(dm1.dstAssortiment.RecordCount);
end
//
else dm1.dstAssortiment.Cancel;
end;
procedure TfmMain.Button1Click(Sender: TObject);
begin
fmZaprosi.Show;
end;
procedure TfmMain.Button2Click(Sender: TObject);
begin
// Add
fmAddPrep:= TfmAddPrep.Create(Application);
//
if fmAddPrep.ShowModal = mrOK then
begin
//
dm1.dstIsgotovitel.Post;
StatusBar1.Panels[1].Text:= IntToStr(dm1.dstIsgotovitel.RecordCount);
end
//
else dm1.dstIsgotovitel.Cancel;
end;
procedure TfmMain.Button3Click(Sender: TObject);
begin
//
if dm1.dstIsgotovitel.RecordCount = 0 then exit;
// fmEdit
fmEdPrep:= TfmEdPrep.Create(Application);
|
|
//
if fmEdPrep.ShowModal = mrOK then
begin
//
dm1.dstIsgotovitel.Post;
StatusBar1.Panels[1].Text:= IntToStr(dm1.dstIsgotovitel.RecordCount);
end
//
else dm1.dstIsgotovitel.Cancel;
end;
procedure TfmMain.Button4Click(Sender: TObject);
begin
with dm1 do
begin
if dstIsgotovitel.RecordCount= 0 then exit;
if Application.MessageBox(' ?', '',
MB_YESNO) = mrYes then dstIsgotovitel.Delete;
StatusBar1.Panels[1].Text:= IntToStr(dstIsgotovitel.RecordCount);
end;
end;
procedure TfmMain.chbFiltrClick(Sender: TObject);
var fn: string;
begin
fn:= '';
if (chbFiltr.Checked) and (edFilter.Text<>'') then
begin
// checked
fn:= '(NAME LIKE '''+edFilter.Text+'%'')';
dm1.dstIsgotovitel.Close;
dm1.dstIsgotovitel.MainWhereClause:= fn;
dm1.dstIsgotovitel.Open;
end
else
begin
// checked
dm1.dstIsgotovitel.Close;
dm1.dstIsgotovitel.MainWhereClause:= fn;
dm1.dstIsgotovitel.Open;
end;
end;
procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
with dm1 do
begin
// .
dstAssortiment.Active:= False;
//
dbShop.Connected:= False;
end;
end;
procedure TfmMain.FormShow(Sender: TObject);
begin
//
with dm1 do
begin
dbShop.Connected:= True;
dstIsgotovitel.Active:= True;
StatusBar1.Panels[1].Text:= IntToStr(dstIsgotovitel.RecordCount);
end;
end;
procedure TfmMain.mDeleteClick(Sender: TObject);
begin
buDelete.Click;
end;
procedure TfmMain.mInsertClick(Sender: TObject);
begin
buAdd.Click;
end;
procedure TfmMain.mUpdateClick(Sender: TObject);
begin
buEdit.Click;
end;
procedure TfmMain.N1Click(Sender: TObject);
begin
with dm1 do
begin
frxReport1.ShowReport();
end;
end;
end.
unit DM;
interface
uses
SysUtils, Classes, DB, pFIBDataSet, FIBDatabase, pFIBDatabase, FIBDataSet,
frxClass, frxDBSet;
type
Tdm1 = class(TDataModule)
dbShop: TpFIBDatabase;
ReadTransaction: TpFIBTransaction;
WriteTransaction: TpFIBTransaction;
dstAssortiment: TpFIBDataSet;
dsAssortiment: TDataSource;
dsQuery: TDataSource;
dstQuery: TpFIBDataSet;
dsIsgotovitel: TDataSource;
dstIsgotovitel: TpFIBDataSet;
dstAssortimentID_F: TFIBIntegerField;
dstAssortimentISDELIE: TFIBStringField;
dstAssortimentADRES: TFIBStringField;
dstIsgotovitelID_ISG: TFIBIntegerField;
dstIsgotovitelNAME: TFIBStringField;
dstIsgotovitelRAZMER: TFIBIntegerField;
dstIsgotovitelCOST: TFIBFloatField;
dstIsgotovitelKOL: TFIBIntegerField;
dstIsgotovitelTEDATA: TFIBDateField;
dstIsgotovitelID_IS: TFIBIntegerField;
dstIsgotovitelISG: TStringField;
dsAll: TDataSource;
dstAll: TpFIBDataSet;
frxReport1: TfrxReport;
frxDBDataset1: TfrxDBDataset;
private
{ Private declarations }
public
{ Public declarations }
end;
var
dm1: Tdm1;
implementation
{$R *.dfm}
end.
unit Zaproci;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DM, StdCtrls;
type
TfmZaprosi = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button6: TButton;
DBGrid1: TDBGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmZaprosi: TfmZaprosi;
implementation
{$R *.dfm}
procedure TfmZaprosi.Button1Click(Sender: TObject);
begin
DBGrid1.Columns[0].Visible:= True;
DBGrid1.Columns[1].Visible:= False;
DBGrid1.Columns[2].Visible:= False;
DBGrid1.Columns[3].Visible:= False;
DBGrid1.Columns[4].Visible:= False;
with dm1 do
begin
if dstQuery.Active then dstQuery.Close;
dstQuery.SelectSQL.Clear;
dstQuery.SelectSQL.Add('SELECT MAX(COST)');
dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');
dstQuery.Open;
end;
end;
procedure TfmZaprosi.Button2Click(Sender: TObject);
begin
DBGrid1.Columns[0].Visible:= False;
DBGrid1.Columns[1].Visible:= True;
DBGrid1.Columns[2].Visible:= False;
DBGrid1.Columns[3].Visible:= False;
DBGrid1.Columns[4].Visible:= False;
with dm1 do
begin
if dstQuery.Active then dstQuery.Close;
dstQuery.SelectSQL.Clear;
dstQuery.SelectSQL.Add('SELECT AVG(RAZMER)');
dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');
dstQuery.Open;
end;
end;
procedure TfmZaprosi.Button3Click(Sender: TObject);
begin
with dm1 do
begin
DBGrid1.Columns[0].Visible:= True;
DBGrid1.Columns[1].Visible:= False;
DBGrid1.Columns[2].Visible:= False;
DBGrid1.Columns[3].Visible:= True;
DBGrid1.Columns[4].Visible:= False;
if dstQuery.Active then dstQuery.Close;
dstQuery.SelectSQL.Clear;
dstQuery.SelectSQL.Add('SELECT RAZMER, MAX(COST)');
dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');
dstQuery.SelectSQL.Add('GROUP BY RAZMER');
dstQuery.SelectSQL.Add('HAVING (MAX(COST))>1200');
dstQuery.Open;
end;
end;
procedure TfmZaprosi.Button4Click(Sender: TObject);
begin
fmZaprosi.Close;
end;
procedure TfmZaprosi.Button6Click(Sender: TObject);
begin
DBGrid1.Columns[0].Visible:= False;
DBGrid1.Columns[1].Visible:= False;
DBGrid1.Columns[2].Visible:= False;
DBGrid1.Columns[3].Visible:= False;
DBGrid1.Columns[4].Visible:= True;
with dm1 do
begin
if dstQuery.Active then dstQuery.Close;
dstQuery.SelectSQL.Clear;
dstQuery.SelectSQL.Add('SELECT COUNT (DISTINCT RAZMER)');
dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');
dstQuery.Open;
end;
end;
end.
unit AddPrep;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ExtCtrls, ComCtrls;
type
TfmAddPrep = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
Panel1: TPanel;
Panel2: TPanel;
buOK: TButton;
buCancel: TButton;
dtpTime: TDateTimePicker;
procedure buOKClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmAddPrep: TfmAddPrep;
implementation
uses DM;
{$R *.dfm}
procedure TfmAddPrep.buOKClick(Sender: TObject);
begin
with dm1 do
begin
//
dstIsgotovitel.Insert;
// dstPhone
dstIsgotovitel.FBN('NAME').AsString:= edit1.Text;
dstIsgotovitel.FBN('RAZMER').AsInteger:= StrToInt(edit2.Text);
dstIsgotovitel.FBN('COST').AsInteger:= StrToInt(edit3.Text);
dstIsgotovitel.FBN('KOL').AsInteger:= StrToInt(edit4.Text);
dstIsgotovitel.FBN('TEDATA').AsDateTime:= dtpTime.Date;
dstIsgotovitel.FBN('ISG').AsString:= DBLookupComboBox1.KeyValue;
end;
end;
procedure TfmAddPrep.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//
Action:= caFree;
fmAddPrep:= nil;
end;
end.
unit EditPrep;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ExtCtrls, ComCtrls;
type
TfmEdPrep = class(TForm)
Panel1: TPanel;
Label7: TLabel;
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
Edit4: TEdit;
Edit3: TEdit;
Edit2: TEdit;
Edit1: TEdit;
DBLookupComboBox1: TDBLookupComboBox;
Panel2: TPanel;
buOK: TButton;
buCancel: TButton;
dtpTime: TDateTimePicker;
procedure buOKClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmEdPrep: TfmEdPrep;
implementation
uses DM;
{$R *.dfm}
procedure TfmEdPrep.buOKClick(Sender: TObject);
begin
with dm1 do
begin
//
dstIsgotovitel.Insert;
// dstPhone
dstIsgotovitel.FBN('NAME').AsString:= edit1.Text;
dstIsgotovitel.FBN('RAZMER').AsInteger:= StrToInt(edit2.Text);
dstIsgotovitel.FBN('COST').AsInteger:= StrToInt(edit3.Text);
dstIsgotovitel.FBN('KOL').AsInteger:= StrToInt(edit4.Text);
dstIsgotovitel.FBN('TEDATA').AsDateTime:= dtpTime.Date;
dstIsgotovitel.FBN('ISG').AsString:= DBLookupComboBox1.KeyValue;
end;
end;
procedure TfmEdPrep.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//
Action:= caFree;
fmEdPrep:= nil;
end;
procedure TfmEdPrep.FormShow(Sender: TObject);
begin
with dm1 do
begin
edit1.Text:=dstIsgotovitel.FBN('NAME').AsString;
edit2.Text:=dstIsgotovitel.FBN('RAZMER').AsString;
edit3.Text:=dstIsgotovitel.FBN('COST').AsString;
edit4.Text:=dstIsgotovitel.FBN('KOL').AsString;
dtpTime.Date:= dstIsgotovitel.FBN('TEDATA').AsDateTime;
DBLookupComboBox1.KeyValue:=dstIsgotovitel.FBN('ISG').AsString;
end;
edit1.SetFocus;
end;
end.
()
.1
.2 Isgotovitel
.3
.4
.5
.6
.7 Assortiment
.8 Assortiment
.9
.10 ʻ
.11
.12
.13
.14
.15
.16
.17
.18
.19 -
.20 - 1200
.21 -
.22
.23
.24 1200
.25
.26
.27 ,
.28 ,
.29 ()
.30
.31
.31
.32
.33
.34
.35
.35
.36
.37
38
()
(SQL-)
/***********************************************************
Plugin: ANSI DDL (3.2.0 - 05-12-2009), Grandite
: " "
Source file: "f:\projects2009\shop.sms"
Generated on: 16.11.2014 8:56:00
Generated by Open ModelSphere 3.2"
***********************************************************
***********************************************************
CREATE STATEMENTS
***********************************************************/
--/***********************************************************
-- TABLE 'ASSORTIMENT'
--***********************************************************/
CREATE TABLE ASSORTIMENT
(
AID INTEGER NOT NULL,
NAME VARCHAR(20),
RAZMER INTEGER,
COST DOUBLE PRECISION,
KOL INTEGER,
TEDATA DATE,
IID INTEGER NOT NULL
);
--/***********************************************************
-- TABLE 'IZGOTOVITEL'
--***********************************************************/
CREATE TABLE IZGOTOVITEL
(
IID INTEGER NOT NULL,
NAME VARCHAR(30),
ADRES VARCHAR(20)
);
--/***********************************************************
-- TABLE 'PRODAJI'
--***********************************************************/
CREATE TABLE PRODAJI
(
PID INTEGER NOT NULL,
PDATA DATE,
QTY INTEGER,
SID INTEGER NOT NULL
);
--/***********************************************************
-- TABLE 'SKLAD'
--***********************************************************/
CREATE TABLE SKLAD
(
SID INTEGER NOT NULL,
QTY INTEGER,
SDATA DATE,
IID INTEGER NOT NULL,
AID INTEGER NOT NULL
);
--/***********************************************************
-- PRIMARY/UNIQUE KEY 'PK_ASSORTIMENT'
--***********************************************************/
ALTER TABLE ASSORTIMENT
ADD CONSTRAINT PK_ASSORTIMENT PRIMARY KEY (
IID, AID);
--/***********************************************************
-- PRIMARY/UNIQUE KEY 'PK_IZGOTOVITEL'
--***********************************************************/
ALTER TABLE IZGOTOVITEL
ADD CONSTRAINT PK_IZGOTOVITEL PRIMARY KEY (
IID);
--/***********************************************************
-- PRIMARY/UNIQUE KEY 'PK_PRODAJI'
--***********************************************************/
ALTER TABLE PRODAJI
ADD CONSTRAINT PK_PRODAJI PRIMARY KEY (
SID, PID);
--/***********************************************************
-- PRIMARY/UNIQUE KEY 'PK_SKLAD'
--***********************************************************/
ALTER TABLE SKLAD
ADD CONSTRAINT PK_SKLAD PRIMARY KEY (
SID);
ALTER TABLE ASSORTIMENT
ADD CONSTRAINT FK_ASSORTIMENT_1
FOREIGN KEY (IID)
REFERENCES IZGOTOVITEL;
ALTER TABLE PRODAJI
ADD CONSTRAINT FK_PRODAJI_1
FOREIGN KEY (SID)
REFERENCES SKLAD;
ALTER TABLE SKLAD
ADD CONSTRAINT FK_SKLAD_1
FOREIGN KEY (IID, AID)
REFERENCES ASSORTIMENT;
*******************************************************************/
/*** Generated by IBExpert 2012.12.18.1 01.12.2014 22:11:19 ***/
*******************************************************************/
SET SQL DIALECT 3;
SET NAMES WIN1251;
CREATE DATABASE 'SQLEDU03:C:\Users\user\Desktop\5 \\16\SHOP.fdb'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET WIN1251 COLLATION WIN1251;
*******************************************************************/
/*** Stored Procedures ***/
********************************************************************/
SET TERM ^;
create or alter procedure UVELICHENIE (
UVEL double precision)
as
begin
update ISGOTOVITEL
set COST=COST*(:uvel/100+1);
end^
SET TERM; ^
/* Following GRANT statetements are generated automatically */
GRANT SELECT,UPDATE ON ISGOTOVITEL TO PROCEDURE UVELICHENIE;
/* Existing privileges on this procedure */
GRANT EXECUTE ON PROCEDURE UVELICHENIE TO TEAM009;
SET TERM ^;
create or alter procedure VSEGO
returns (
OK double precision)
as
begin
select sum(COST) from ISGOTOVITEL
into:OK;
SUSPEND;
end^
SET TERM; ^
/* Following GRANT statetements are generated automatically */
GRANT SELECT ON ISGOTOVITEL TO PROCEDURE VSEGO;
/* Existing privileges on this procedure */
GRANT EXECUTE ON PROCEDURE VSEGO TO TEAM009;
/******************************************************************************/
/*** Generated by IBExpert 24.12.2014 22:13:44 ***/
/******************************************************************************/
/******************************************************************************/
/*** Following SET SQL DIALECT is just for the Database Comparer ***/
/******************************************************************************/
SET SQL DIALECT 3;
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE GENERATOR GEN1;
CREATE TABLE ASSORTIMENT (
ID_F PERCENT NOT NULL /* PERCENT = INTEGER */,
ISDELIE PERSON /* PERSON = VARCHAR(20) */,
ADRES ADDRESSES /* ADDRESSES = VARCHAR(30) */
);
/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/
ALTER TABLE ASSORTIMENT ADD CONSTRAINT PK_ASSORTIMENT PRIMARY KEY (ID_F);
/******************************************************************************/
/*** Triggers ***/
/******************************************************************************/
SET TERM ^;
/******************************************************************************/
/*** Triggers for tables ***/
/******************************************************************************/
/* Trigger: ASSORTIMENT_BI0 */
CREATE OR ALTER TRIGGER ASSORTIMENT_BI0 FOR ASSORTIMENT
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if ((new.id_f is null) or (new.id_f = 0)) then
begin
new.ID_F = gen_id(gen1, 1);
end
end
^
SET TERM; ^
/******************************************************************************/
/*** Privileges ***/
/******************************************************************************/
/* Privileges of users */
GRANT ALL ON ASSORTIMENT TO TEAM009 WITH GRANT OPTION;
/******************************************************************************/
/*** Generated by IBExpert 24.12.2014 22:14:47 ***/
/******************************************************************************/
/******************************************************************************/
/*** Following SET SQL DIALECT is just for the Database Comparer ***/
/******************************************************************************/
SET SQL DIALECT 3;
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE GENERATOR GEN2;
CREATE TABLE ISGOTOVITEL (
ID_ISG PERCENT NOT NULL /* PERCENT = INTEGER */,
NAME PERSON /* PERSON = VARCHAR(20) */,
RAZMER PERCENT /* PERCENT = INTEGER */,
COST MONEY /* MONEY = DOUBLE PRECISION */,
KOL PERCENT /* PERCENT = INTEGER */,
TEDATA DATES /* DATES = DATE */,
ID_IS PERCENT NOT NULL /* PERCENT = INTEGER */
);
/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/
ALTER TABLE ISGOTOVITEL ADD CONSTRAINT PK_ISGOTOVITEL PRIMARY KEY (ID_ISG);
/******************************************************************************/
/*** Foreign Keys ***/
/******************************************************************************/
ALTER TABLE ISGOTOVITEL ADD CONSTRAINT FK_ISGOTOVITEL_1 FOREIGN KEY (ID_IS) REFERENCES ASSORTIMENT (ID_F) ON DELETE CASCADE;
/******************************************************************************/
/*** Triggers ***/
/******************************************************************************/
SET TERM ^;
/******************************************************************************/
/*** Triggers for tables ***/
/******************************************************************************/
/* Trigger: ISGOTOVITEL_BI0 */
CREATE OR ALTER TRIGGER ISGOTOVITEL_BI0 FOR ISGOTOVITEL
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if ((new.id_isg is null) or (new.id_isg = 0)) then
begin
new.ID_ISG = gen_id(gen2, 1);
end
end
^
SET TERM; ^
/******************************************************************************/
/*** Privileges ***/
/******************************************************************************/
/* Privileges of users */
GRANT ALL ON ISGOTOVITEL TO TEAM009 WITH GRANT OPTION;
DFM -
()
*** : ***
D:\DATA\16\SHOP.FDB
*** : ***
D:\DATA\16\\SHOP-arh.FDB
================== ==================
gbak:readied database D:\DATA\16\SHOP.FDB for backup
gbak:creating file D:\DATA\16\\SHOP-arh.FDB
gbak:starting transaction
gbak:database D:\DATA\16\SHOP.FDB has a page size of 16384 bytes.
gbak:writing domains
gbak: writing domain MONEY
gbak: writing domain PERSON
gbak: writing domain PERCENT
gbak: writing domain BIRTHDAY
gbak: writing domain TELEFON
gbak: writing domain GENDER
gbak: writing domain DATES
gbak: writing domain ADRESSES
gbak: writing domain TELEPHONE
gbak: writing domain ADDRESSES
gbak: writing domain RDB$22
gbak: writing domain RDB$27
gbak:writing shadow files
gbak:writing character sets
gbak:writing collations
gbak:writing functions
gbak:writing tables
gbak: writing table ISGOTOVITEL
gbak: writing column COST
gbak: writing column ID_IS
gbak: writing column ID_ISG
gbak: writing column RAZMER
gbak: writing column KOL
gbak: writing column TEDATA
gbak: writing column NAME
gbak: writing table ASSORTIMENT
gbak: writing column ADRES
gbak: writing column ID_F
gbak: writing column ISDELIE
gbak:writing types
gbak:writing filters
gbak:writing id generators
gbak: writing generator GEN1 value 8
gbak: writing generator GEN2 value 21
gbak:writing stored procedures
gbak:writing stored procedure VSEGO
gbak:writing parameter OK for stored procedure
gbak:writing stored procedure UVELICHENIE
gbak:writing parameter UVEL for stored procedure
gbak:writing exceptions
gbak:writing exception ASSORTIMENTY
gbak:writing exception RAZMERY
gbak: writing index PK_ASSORTIMENT
gbak: writing data for table ASSORTIMENT
gbak:8 records written
gbak: writing index PK_ISGOTOVITEL
gbak: writing index FK_ISGOTOVITEL_1
gbak: writing data for table ISGOTOVITEL
gbak:7 records written
gbak:writing triggers
gbak: writing trigger CHECK_2
gbak: writing trigger ASSORTIMENT_BI0
gbak: writing trigger ISGOTOVITEL_BI0
gbak:writing trigger messages
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user PUBLIC
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user PUBLIC
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user PUBLIC
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak: writing privilege for user TEAM009
gbak:writing table constraints
gbak:writing constraint PK_ISGOTOVITEL
gbak:writing constraint INTEG_26
gbak:writing constraint FK_ISGOTOVITEL_1
gbak:writing constraint PK_ASSORTIMENT
gbak:writing referential constraints
gbak:writing check constraints
gbak:writing SQL roles
gbak:writing names mapping
gbak:closing file, committing, and finishing. 6144 bytes written
================== ==================