BLACKBSQDAKTLeBLDECKKH 0 INCLUDE SQLCA WHENEVER SQLERROR CONTINUE WHENEVER SQLWARNING CONTINUE WHENEVER NOT FOUND CONTINUE BEGIN DECLARE SECTION END DECLARE SECTION connect to :database connect reset 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 OPEN c5 FETCH c5 INTO :dtname CLOSE c5 commit work dtname dtdef database projectlog colVS projname datatype descr owner creator table reftablename reftablecreator projts column colforname primarykey notnull cardiality deleterule tblcnt foreigntable