SOR cur_tab IS SELECT ID FROM SYS_TABLES WHERE INSTR(NAME,:name)+45=LENGTH(NAME) AND INSTR('123456',SUBSTR(NAME,LENGTH(NAME)-1,1))>0 FOR UPDATE; DECLARE CURSOR cur_idx IS SELECT ID FROM SYS_INDEXES WHERE TABLE_ID = tid FOR UPDATE; BEGIN OPEN cur_tab; WHILE 1 = 1 LOOP FETCH cur_tab INTO tid; IF (SQL % NOTFOUND) THEN EXIT; END IF; OPEN cur_idx; WHILE 1 = 1 LOOP FETCH cur_idx INTO iid; IF (SQL % NOTFOUND) THEN EXIT; END IF; DELETE FROM SYS_FIELDS WHERE INDEX_ID=iid; DELETE FROM SYS_INDEXES WHERE CURRENT OF cur_idx; END LOOP; CLOSE cur_idx; DELETE FROM SYS_COLUMNS WHERE TABLE_ID=tid; DELETE FROM SYS_TABLES WHERE CURRENT OF cur_tab; END LOOP; CLOSE cur_tab; END;