DECLARE c1 CURSOR FOR select projname,descr,owner , projts from blackb.projects order by projname for fetch only
OPEN c1
FETCH c1 INTO :projname,:descr,:owner,:projts
CLOSE c1
commit work
update blackb.tables set tbdescr = :descr where tbname = :table and tbcreator = :creator
insert into blackb.tables values(:creator,:table,:descr)
delete from blackb.columns where tbcreator = :creator and tbname = :table
insert into blackb.projtab values(:xco,:yco,:foreigntable,:projname,:creator,:table)
commit work
delete from blackb.projects where projname = :projname
commit work
insert into blackb.columns values(:column,:descr,:primarykey,:notnull,:datatype,:colVS,:creator,:table,:colforname)
update blackb.columns set coldescr = :descr, colprim = :primarykey, colnotnull = :notnull, coltype = :datatype, colvs = :colVS, colforname = :colforname where tbcreator = :creator and tbname = :table
commit work
delete from blackb.projtab where projname = :projname
DECLARE c2 CURSOR FOR select a.tbcreator,a.tbname,a.tbdescr,b.xpos,b.ypos,b.foreigntable from blackb.tables a, blackb.projtab b where b.projname = :projname and b.tbcreator = a.tbcreator and b.tbname = a.tbname for fetch only
OPEN c2
FETCH c2 INTO :creator,:table,:descr,:xco,:yco ,:foreigntable
CLOSE c2
commit work
DECLARE c3 CURSOR FOR select colname,coldescr,colprim,colnotnull,coltype,colvs,colforname from blackb.columns where tbcreator = :creator and tbname = :table for fetch only
OPEN c3
FETCH c3 INTO :column,:descr,:primarykey,:notnull,:datatype,:colVS,:colforname
CLOSE c3
update blackb.rels set relcar = :cardiality, reldr = :deleterule where tbcreator = :creator and tbname = :table and tbrefcreator = :reftablecreator and tbrefname = :reftablename
insert into blackb.rels values(:reftablecreator, :reftablename, :cardiality, :deleterule, :creator, :table)
delete from blackb.rels where tbcreator = :creator and tbname = :table and tbrefcreator = :reftablecreator and tbrefname = :reftablename
commit work
DECLARE c4 CURSOR FOR select tbrefcreator,tbrefname,relcar,reldr from blackb.rels where tbcreator = :creator and tbname = :table for fetch only
OPEN c4
FETCH c4 INTO :reftablecreator,:reftablename,:cardiality,:deleterule
CLOSE c4
delete from blackb.tables where tbcreator = :creator and tbname = :table
insert into blackb.projects values(:projname,:descr,:projectlog,:owner,current timestamp)
update blackb.projects set descr = :descr, owner = :owner, log =:projectlog, projts = current timestamp where projname = :projname
select log into :projectlog from blackb.projects where projname = :projname
select count(*) into :tblcnt from blackb.tables where tbcreator = :creator and tbname = :table
commit work
insert into blackb.datatypes values(:dtname,:dtdef,current timestamp,:projname)
update blackb.datatypes set dtdef = :dtdef , ts = current timestamp where dtname = :dtname
commit work
DECLARE c5 CURSOR FOR select dtname from blackb.datatypes where projname = :projname for fetch only