Merhabalar,
Normalde Troia da bir tablodaki verileri başka bir tabloya SELECT * FROM T1 INTO T2; şeklindeki script ile atabilirsiniz. Filtrelemek istediğinizde de SELECT * FROM T1 WHERE A1 = ‘ABCD’ INTO T2; gibi bir script kullanabilirsiniz.
Troia dili ile sanal tablolar ile çalışırken sanal tablodaki verileri başka bir tabloya almak için copy table yada move-corresponding komutlarını kullanabiliriz.
Eğer sanal tablodaki verileri filtreleyerek başka bir sanal tabloya atmak istediğimiz de ise MERGETABLE komutunu kullanıyor olacağız.
Şuradaki komut sırasının benzerini kullanarak sizde kullanarak işlemlerinizde kullanabilirsiniz.
OBJECT:
TABLE DESTTABLE,
TABLE TMPTABLE,
TABLE TMPTABLE2,
STRING P1,
STRING P2;
P1 = ‘ECAN‘;
P2 = ‘EAKGUL‘;
SELECT *
FROM USERS
WHERE CLIENT = SYS_CLIENT
INTO TMPTABLE2;
SELECT * FROM USERS
WHERE 1 = 2
INTO DESTTABLE;
MERGETABLE TMPTABLE2 INTO DESTTABLE CRITERIA COLUMNS USERNAME,
CREATEDBY VALUES P1, P2 NOTCASESENSITIVE;
COPY TABLE DESTTABLE INTO TMPTABLE;
SET TMPTABLE TO TABLE TMPTABLE;
Yukarıdaki kod ile birlikte tmptable2 tablosuna kullanıcılar tablomuzda belli bir filtredeki verileri aldık,desttable a da kullanıcı tablosunun kolon isimlerini gömdük sadece.
Daha sonrada tmptable2 deki verilerin isim ve oluşturan kişiye göre filtrelemesini yaparak desttable a atıyoruz.
Oradan da uygulama üzerimizdeki tablonun ismi olan tmptable a verileri atmış oluyoruz.
Diğer veri taşıma komutları ile ilgili ayrıca bir yazı yazarım,şimdilik bu yeterli olur umarım.
İyi çalışmalar herkese 🙂 ..