.


:




:

































 

 

 

 





( 17) . . , , .

. :

 

 

{ }

procedure TFPost.cxBAllClick(Sender: TObject);

var i:integer;

begin

pFIBDS_Post.DisableControls;

pFIBDS_Post.First;

for i:= 0 to cxGrid1DBTableView1.

DataController.RecordCount + 1 do

begin

pFIBDS_Post.Edit;

pFIBDS_Post.FieldByName('CB').AsInteger:= {

}1{ }0;

pFIBDS_Post.Post;

cxGrid1DBTableView1.DataController.RecNo:= i;

end;

pFIBDS_Post.EnableControls;

end;

 

. . . 18 . , .

 

.18

. ( 19) , . : , , . , , . . . , ( ) .

.19

, . 20. . . , , , . ID , , . ID .

.20

, , .

21 . .

22 , .

.21

.22

, 23, , 24, , , 25.

 

.23

 

.24

.25

7.1.

 

. (. View) () , ( ), . , SQL, SQL-. , , SQL, .

, . SQL- SQL- ( FROM). , , , . , , .

- , :

. , . , .

. , . , , . : , . , .

. , , , .

SQL-, , , , , .

ONE_VIEW :

CREATE VIEW ONE_VIEW(

ID,

NAME,

CB,

FST_PD_ID)

AS

SELECT

s.id,

s.NAME,

case when pr.id is null then 0 else 1 end as cb,

per.id as pers_id

FROM STU_KL_FACULTY s

left join fst_pers_data per on (1=1)

left join fst_fprof pr on (pr.facult_id = s.id and

pr.fst_pd_id = per.id);

 

CB. - , , . ONE_VIEW_BU0:

AS

begin

if (old.cb!= new.cb) then

if (new.cb = 1) then

INSERT INTO FST_FPROF(FST_PD_ID, FACULT_ID)

VALUES (old.fst_pd_id, old.id);

else

DELETE FROM FST_FPROF

WHERE (new.fst_pd_id = fst_fprof.fst_pd_id and

new.id = fst_fprof.facult_id);

end

 

, ( ) , :

, ;

.

TWO_VIEW :

CREATE VIEW TWO_VIEW(

ID,

NAME,

CB,

PERS_ID)

AS

SELECT

s.id,

s.NAME,

case when pr.id is null then 0 else 1 end as cb,

per.id as pers_id

FROM stu_kl_specialization s

left join fst_pers_data per on (1=1)

left join fst_fprof pr on (pr.spec_id = s.id and

pr.fst_pd_id = per.id);

 

CB. , - , , . TWO_VIEW_BU0:

AS

begin

if (new.cb!= old.cb) then

if (new.cb = 1) then

INSERT INTO FST_FPROF(SPEC_ID, FST_PD_ID)

VALUES (old.id, old.pers_id);

else

DELETE FROM FST_FPROF

WHERE (old.id = fst_fprof.spec_id and old.pers_id =

fst_fprof.fst_pd_id);

end

 

, ( ) , :

, ;

.

MES_VIEW :

CREATE VIEW MES_VIEW(

ID,

THEME,

CB,

PERS_ID)

AS

SELECT

m.id,

m.theme,

case when pr.pers_data_id is null then 0 else 1 end

as cb,

per.id as pers_id

FROM FST_MESSAGE m

left join fst_pers_data per on (1=1)

left join fst_l_persdata_message pr on (pr.message_id =

m.id and pr.pers_data_id = per.id);

 

CB. , - , , . MES:

AS

begin

if (old.cb!= new.cb) then

if (new.cb = 1) then

INSERT INTO FST_L_PERSDATA_MESSAGE(PERS_DATA_ID,

MESSAGE_ID)

VALUES (old.PERS_ID, old.ID);

else

DELETE FROM FST_L_PERSDATA_MESSAGE

WHERE(new.PERS_ID =

fst_l_persdata_message.pers_data_id) AND (new.ID

= FST_L_PERSDATA_MESSAGE.message_id);

end

 

, ( ) , :

, ;

.

 

 


 

 

:

;

;

;

;

;

;

;

;

.

16 .

16.

,    
, , , ,
 
exe-
, , , ,
ID ,
ID ID , ID
,
ID ID .,
. , ,
- , ID
ID    
,
,
" " ,
   
,  
           
           

 

 






:


: 2015-11-23; !; : 672 |


:

:

, .
==> ...

1462 - | 1402 -


© 2015-2024 lektsii.org - -

: 0.038 .