<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Access SQL - FIREBIRD]]></title>
		<link>https://www.access-sql.com/</link>
		<description><![CDATA[Access SQL - https://www.access-sql.com]]></description>
		<pubDate>Thu, 30 Apr 2026 06:36:54 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Iki Bilgisayar Arası Haberleşme]]></title>
			<link>https://www.access-sql.com/Konu-Iki-Bilgisayar-Arasi-Haberlesme</link>
			<pubDate>Tue, 14 May 2024 10:39:29 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Iki-Bilgisayar-Arasi-Haberlesme</guid>
			<description><![CDATA[Merhaba,<br />
<br />
<br />
Aynı ağda kullandığım iki bilgisayar arasında veri alışverişi yapıyorum.<br />
Server bilgisayarda Firebird_3_0 kurulu aynı bilgisayarda liste.fdb adında database var.<br />
Client bilgisayarda da Firebird_3_0 kurulu.<br />
<br />
<br />
<br />
Client bilgisayarından liste.fdb databaseye insert yapınca yapınca, Server'un kurulu olduğu bilgisayarda işlem yapıldığını yakalıyorum.<br />
Fakat server bilgisayardan işlem yapılınca Client bilgisayarındaki uygulama işlemi yakalayamıyor.<br />
<br />
<br />
<br />
Firebird.conf içindeki  ayarları şu şekilde yaptım<br />
#RemoteServicePort = 3050<br />
#RemoteAuxPort = 3051<br />
<br />
<br />
Konu hakkında yardımlarınızı rica ederim.]]></description>
			<content:encoded><![CDATA[Merhaba,<br />
<br />
<br />
Aynı ağda kullandığım iki bilgisayar arasında veri alışverişi yapıyorum.<br />
Server bilgisayarda Firebird_3_0 kurulu aynı bilgisayarda liste.fdb adında database var.<br />
Client bilgisayarda da Firebird_3_0 kurulu.<br />
<br />
<br />
<br />
Client bilgisayarından liste.fdb databaseye insert yapınca yapınca, Server'un kurulu olduğu bilgisayarda işlem yapıldığını yakalıyorum.<br />
Fakat server bilgisayardan işlem yapılınca Client bilgisayarındaki uygulama işlemi yakalayamıyor.<br />
<br />
<br />
<br />
Firebird.conf içindeki  ayarları şu şekilde yaptım<br />
#RemoteServicePort = 3050<br />
#RemoteAuxPort = 3051<br />
<br />
<br />
Konu hakkında yardımlarınızı rica ederim.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Data import etme]]></title>
			<link>https://www.access-sql.com/Konu-Data-import-etme</link>
			<pubDate>Thu, 04 Sep 2014 09:20:56 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Data-import-etme</guid>
			<description><![CDATA[Merhaba, kullandığım bir program *.fdb veritabanı kullanıyor. Bu veritabanı içerisinde bulunan (KISILER) bir tabloya dışarıdan*.xlsx formatında tablo ile aynı yapıda veri import etmek istiyorum  (Firebird Maestro isimli program ile) ama beceremedim. İlgili dosyalar ektedir.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=16016" target="_blank" title="">ek.rar</a> (Boyut: 261,63 KB / İndirilme: 24)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba, kullandığım bir program *.fdb veritabanı kullanıyor. Bu veritabanı içerisinde bulunan (KISILER) bir tabloya dışarıdan*.xlsx formatında tablo ile aynı yapıda veri import etmek istiyorum  (Firebird Maestro isimli program ile) ama beceremedim. İlgili dosyalar ektedir.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/rar.png" title="" border="0" alt=".rar" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=16016" target="_blank" title="">ek.rar</a> (Boyut: 261,63 KB / İndirilme: 24)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird Aynı Kayıtları bul ve sil]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Ayni-Kayitlari-bul-ve-sil</link>
			<pubDate>Fri, 12 Oct 2012 20:52:10 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Ayni-Kayitlari-bul-ve-sil</guid>
			<description><![CDATA[Merhaba bir önceki göndermimde olan firebird bul değiştir ve aynı kayıtları bul örnek dosyasını ekliyorum. Bu dosyayı mail adreslerini ayıklamak için hazırlamıştım. Onun için chek şartları filan var. <br />
Yer alan örnekler<br />
<br />
Aynı alanda yer alan aynı kayıtların bulunması<br />
<br />
Aynı alanda yer alan aynı kayıtların silinmesi<br />
<br />
Bul ve değiştir.<br />
<br />
Chek örnekleri<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>SET TERM ^ ;<br />
create PROCEDURE AYNIOLANLARISIL<br />
RETURNS (<br />
&nbsp;&nbsp;&nbsp;&nbsp;EMAILS varchar(60) )<br />
AS<br />
DECLARE VARIABLE sayac INTEGER ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp; KAYIT_SAYISI integer ;<br />
declare cur cursor for <br />
&nbsp;&nbsp;(select&nbsp;&nbsp;VWAYNI.EMAILSS&nbsp;&nbsp;from VWAYNI);<br />
begin<br />
<br />
/*<br />
BİR TABLODA AYNI ALANDA AYNI KAYIT VARSA BULUP KAYITLARI SİLER<br />
UNİC İNDEX KULLANILMAMA SEBEBİ<br />
<br />
 BUL DEĞİŞTİR FONKSİYONU ÇALIŞTIKTAN SONRA BAZI KAYITLAR AYNI HALE DÜŞEBİLİYOR<br />
MESELA İKİ EMAİL ADERSİ<br />
İNFO@İNFO.COM<br />
info@info.com<br />
<br />
İ harflarini i harfine dönüştürünce ikitane aynı kayıt oluyor ve bul değiştir hata verip deva edemiyor<br />
<br />
*/<br />
&nbsp;&nbsp;sayac = 0;<br />
&nbsp;&nbsp;select count(*)&nbsp;&nbsp;from&nbsp;&nbsp;VWAYNI into :kayit_sayisi&nbsp;&nbsp;;<br />
<br />
&nbsp;&nbsp;open cur;<br />
&nbsp;&nbsp;while (:kayit_sayisi&gt;sayac) do<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp; select&nbsp;&nbsp;VWAYNI.EMAILSS&nbsp;&nbsp;from&nbsp;&nbsp; VWAYNI into :EMAILS ;&nbsp;&nbsp; <br />
&nbsp;&nbsp; sayac = sayac +1 ;&nbsp;&nbsp;<br />
&nbsp;&nbsp; delete from EMAILS where EMAILS.EMAILS_EMAIL = :EMAILS ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;suspend;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;close cur;<br />
end^<br />
SET TERM ; ^<br />
<br />
<br />
GRANT EXECUTE<br />
 ON PROCEDURE AYNIOLANLARISIL TO&nbsp;&nbsp;SYSDBA;</code></div></div><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>SET TERM ^ ;<br />
create PROCEDURE DEGISTIR<br />
AS<br />
DECLARE VARIABLE sayac INTEGER ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp;EMAILS varchar(60);<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp; KAYIT_SAYISI integer ;<br />
declare cur cursor for <br />
&nbsp;&nbsp;(select EMAILS_EMAIL&nbsp;&nbsp;from EMAILS);<br />
begin<br />
&nbsp;&nbsp;sayac = 0;<br />
&nbsp;&nbsp;select count(*)&nbsp;&nbsp;from EMAILS into :kayit_sayisi&nbsp;&nbsp;;<br />
/*<br />
BUL DEĞİŞTİR. <br />
SEÇİLEN ALANDA NOTPAT DAKİ BUL DEĞİŞTİR FONKSİYONU GİBİ ÇALIŞIR<br />
<br />
ÖRNEĞİN <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ü', 'u'); <br />
&nbsp;&nbsp; Ü HARLERİNİ u harfine çevirir<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; AHMET NURİ DENİZ <br />
&nbsp;&nbsp; 10.2012<br />
&nbsp;&nbsp; <br />
*/&nbsp;&nbsp;<br />
&nbsp;&nbsp;open cur;<br />
&nbsp;&nbsp;while (:kayit_sayisi&gt;sayac) do<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp; sayac = sayac +1 ;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ü', 'u');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ü', 'u');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ğ', 'g');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ğ', 'g');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'İ', 'i');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'I', 'i');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ş', 's');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ş', 's');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ö', 'o');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ö', 'o');&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, ' ', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'www', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'WWW', '');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;if (row_count = 0) then leave;<br />
&nbsp;&nbsp;&nbsp;&nbsp;suspend;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;close cur;<br />
<br />
<br />
<br />
&nbsp;&nbsp;<br />
<br />
end^<br />
SET TERM ; ^<br />
<br />
<br />
GRANT EXECUTE<br />
 ON PROCEDURE DEGISTIR TO&nbsp;&nbsp;SYSDBA;</code></div></div><br />
<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>CREATE VIEW VWAYNI (EMAILSS)<br />
AS&nbsp;&nbsp; <br />
/* TABLODAKİ ALANDA BİRDEN FAZLA AYNI KAYITTAN OLANLARI LİSTELER*/<br />
/* AHMET NURİ DENİZ 11.10.2012 */<br />
SELECT&nbsp;&nbsp;EMAILS.EMAILS_EMAIL <br />
<br />
FROM EMAILS<br />
<br />
GROUP BY EMAILS.EMAILS_EMAIL<br />
<br />
HAVING ( COUNT(EMAILS.EMAILS_EMAIL) &gt; 1 )<br />
<br />
<br />
;</code></div></div><br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=11667" target="_blank" title="">OrnekEMAILLER.zip</a> (Boyut: 49,81 KB / İndirilme: 37)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba bir önceki göndermimde olan firebird bul değiştir ve aynı kayıtları bul örnek dosyasını ekliyorum. Bu dosyayı mail adreslerini ayıklamak için hazırlamıştım. Onun için chek şartları filan var. <br />
Yer alan örnekler<br />
<br />
Aynı alanda yer alan aynı kayıtların bulunması<br />
<br />
Aynı alanda yer alan aynı kayıtların silinmesi<br />
<br />
Bul ve değiştir.<br />
<br />
Chek örnekleri<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>SET TERM ^ ;<br />
create PROCEDURE AYNIOLANLARISIL<br />
RETURNS (<br />
&nbsp;&nbsp;&nbsp;&nbsp;EMAILS varchar(60) )<br />
AS<br />
DECLARE VARIABLE sayac INTEGER ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp; KAYIT_SAYISI integer ;<br />
declare cur cursor for <br />
&nbsp;&nbsp;(select&nbsp;&nbsp;VWAYNI.EMAILSS&nbsp;&nbsp;from VWAYNI);<br />
begin<br />
<br />
/*<br />
BİR TABLODA AYNI ALANDA AYNI KAYIT VARSA BULUP KAYITLARI SİLER<br />
UNİC İNDEX KULLANILMAMA SEBEBİ<br />
<br />
 BUL DEĞİŞTİR FONKSİYONU ÇALIŞTIKTAN SONRA BAZI KAYITLAR AYNI HALE DÜŞEBİLİYOR<br />
MESELA İKİ EMAİL ADERSİ<br />
İNFO@İNFO.COM<br />
info@info.com<br />
<br />
İ harflarini i harfine dönüştürünce ikitane aynı kayıt oluyor ve bul değiştir hata verip deva edemiyor<br />
<br />
*/<br />
&nbsp;&nbsp;sayac = 0;<br />
&nbsp;&nbsp;select count(*)&nbsp;&nbsp;from&nbsp;&nbsp;VWAYNI into :kayit_sayisi&nbsp;&nbsp;;<br />
<br />
&nbsp;&nbsp;open cur;<br />
&nbsp;&nbsp;while (:kayit_sayisi&gt;sayac) do<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp; select&nbsp;&nbsp;VWAYNI.EMAILSS&nbsp;&nbsp;from&nbsp;&nbsp; VWAYNI into :EMAILS ;&nbsp;&nbsp; <br />
&nbsp;&nbsp; sayac = sayac +1 ;&nbsp;&nbsp;<br />
&nbsp;&nbsp; delete from EMAILS where EMAILS.EMAILS_EMAIL = :EMAILS ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;suspend;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;close cur;<br />
end^<br />
SET TERM ; ^<br />
<br />
<br />
GRANT EXECUTE<br />
 ON PROCEDURE AYNIOLANLARISIL TO&nbsp;&nbsp;SYSDBA;</code></div></div><br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>SET TERM ^ ;<br />
create PROCEDURE DEGISTIR<br />
AS<br />
DECLARE VARIABLE sayac INTEGER ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp;EMAILS varchar(60);<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp; KAYIT_SAYISI integer ;<br />
declare cur cursor for <br />
&nbsp;&nbsp;(select EMAILS_EMAIL&nbsp;&nbsp;from EMAILS);<br />
begin<br />
&nbsp;&nbsp;sayac = 0;<br />
&nbsp;&nbsp;select count(*)&nbsp;&nbsp;from EMAILS into :kayit_sayisi&nbsp;&nbsp;;<br />
/*<br />
BUL DEĞİŞTİR. <br />
SEÇİLEN ALANDA NOTPAT DAKİ BUL DEĞİŞTİR FONKSİYONU GİBİ ÇALIŞIR<br />
<br />
ÖRNEĞİN <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ü', 'u'); <br />
&nbsp;&nbsp; Ü HARLERİNİ u harfine çevirir<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; AHMET NURİ DENİZ <br />
&nbsp;&nbsp; 10.2012<br />
&nbsp;&nbsp; <br />
*/&nbsp;&nbsp;<br />
&nbsp;&nbsp;open cur;<br />
&nbsp;&nbsp;while (:kayit_sayisi&gt;sayac) do<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp; sayac = sayac +1 ;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ü', 'u');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ü', 'u');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ğ', 'g');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ğ', 'g');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'İ', 'i');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'I', 'i');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ş', 's');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ş', 's');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ö', 'o');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ö', 'o');&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, ' ', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'www', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'WWW', '');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;if (row_count = 0) then leave;<br />
&nbsp;&nbsp;&nbsp;&nbsp;suspend;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;close cur;<br />
<br />
<br />
<br />
&nbsp;&nbsp;<br />
<br />
end^<br />
SET TERM ; ^<br />
<br />
<br />
GRANT EXECUTE<br />
 ON PROCEDURE DEGISTIR TO&nbsp;&nbsp;SYSDBA;</code></div></div><br />
<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>CREATE VIEW VWAYNI (EMAILSS)<br />
AS&nbsp;&nbsp; <br />
/* TABLODAKİ ALANDA BİRDEN FAZLA AYNI KAYITTAN OLANLARI LİSTELER*/<br />
/* AHMET NURİ DENİZ 11.10.2012 */<br />
SELECT&nbsp;&nbsp;EMAILS.EMAILS_EMAIL <br />
<br />
FROM EMAILS<br />
<br />
GROUP BY EMAILS.EMAILS_EMAIL<br />
<br />
HAVING ( COUNT(EMAILS.EMAILS_EMAIL) &gt; 1 )<br />
<br />
<br />
;</code></div></div><br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=11667" target="_blank" title="">OrnekEMAILLER.zip</a> (Boyut: 49,81 KB / İndirilme: 37)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird Store procedure le Bul ve Değiştir]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Store-procedure-le-Bul-ve-Degistir</link>
			<pubDate>Wed, 10 Oct 2012 12:15:57 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Store-procedure-le-Bul-ve-Degistir</guid>
			<description><![CDATA[Merhaba , Artık eskisi gibi programlamayla uğraşamıyorum. Arada sırada ufak tefek ihtiyaçları karşılamak için kod yazıyorum o kadar. Kod yazmak çok zevkli bir iş ama hagi işi yaparsanız yapın işinize ilerledikçe eninde sonunda işletmeci-idareci oluyorsunuz. her şeyi idare ediyoruz yani. Bende baya uzak kalmışım bu alemdenki iki satır kod için baya uğraştım. Yeni mezun yazılımcı arkadaşlara tavsiyem eğer işinizi severk yapıyorsanız kendinize iyi bir iş bulun kodlaınızı yazın kalanına karşmayın tabi günümüz şartlarında bu baya zor. İş akışı sizi yapmaktan hoşalandığınız kod yazma yerine okuldan mezun olduğunuzda angraya olarak gördüğünüz işlere sürüklüyor. Her halanda böyle mesela doktor olasınız eninde sonunda baş hekim yapıyorlar doktorluk yerine hastane müdürü oluveriyorsunuz <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /><br />
Elime 3 milon dan fazla bir mail bankası geçti, dedim şunu bi temizliyim. Db ye aldım. Unic indexle bir sürü chek kontrolü ile filan geçersiz mailleri baya ayıkladım ama yetmedi. çünkü kayıtlarda ç,ş,ü, gibi kareketerler kullanılmış olacak şey değil ama oluyor. Bunları temizlemenin iki yöntemi var biri dbyi txt olarak export edip bi stajer bulup bu angraya işi notepat++ la bul değiştir yaptırmak. diğer veri tabanının bul değiştir fonksiyonunu kullanarak bu işlemi firebirde yaptırmak. Her halukarda işlem uzun sürüyor, çünkü veri çok. Neyse ben sql i seçtim ama işin başında deyim notepat++ kesin daha hızlı bitirirdi bu işi. Çünkü kod yazmasıydı filandı feşamdı derken 30 dk geçiveriyor.  birde unic index e takıldı hata verdi. Ama ben noSql e yes diyemeyen antika programcı familyasıdayım. <br />
Sadede gelmek gerekirse <br />
Emails tablsunda Emails_email alanındaki verilerde bul ve değitir işlemi yapan store procedure yi kod olarak ekliyorum. <br />
mesela veri tabanında İ kullanıldıyasa onu i olarak değiştiriyorum. <br />
bunun için cursor kullanıyorum<br />
bu fonksiyon için  firebird 2.1üstü kullanmanız gerekmekte.<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>SET TERM ^ ;<br />
create PROCEDURE DEGISTIR2<br />
AS<br />
DECLARE VARIABLE sayac INTEGER ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp;EMAILS varchar(60);<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp; KAYIT_SAYISI integer ;<br />
declare cur cursor for <br />
&nbsp;&nbsp;(select EMAILS_EMAIL&nbsp;&nbsp;from EMAILS);<br />
begin<br />
&nbsp;&nbsp;sayac = 0;<br />
&nbsp;&nbsp;select count(*)&nbsp;&nbsp;from EMAILS into :kayit_sayisi&nbsp;&nbsp;;<br />
<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;open cur;<br />
&nbsp;&nbsp;while (:kayit_sayisi&gt;sayac) do<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp; sayac = sayac +1 ;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ü', 'u');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ü', 'u');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ğ', 'g');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ğ', 'g');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'İ', 'i');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'I', 'i');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ş', 's');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ş', 's');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ö', 'o');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ö', 'o');&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, ' ', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'www', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'WWW', '');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '!', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '#', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '~', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, ':', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '?', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '&#36;', '');<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;if (row_count = 0) then leave;<br />
&nbsp;&nbsp;&nbsp;&nbsp;suspend;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;close cur;<br />
<br />
<br />
<br />
&nbsp;&nbsp;<br />
<br />
end^<br />
SET TERM ; ^<br />
<br />
<br />
GRANT EXECUTE<br />
 ON PROCEDURE DEGISTIR2 TO&nbsp;&nbsp;SYSDBA;</code></div></div><br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>CREATE TABLE EMAILS<br />
(<br />
&nbsp;&nbsp;EMAILS_OTO integer NOT NULL,<br />
&nbsp;&nbsp;EMAILS_EMAIL varchar(50) COLLATE PXW_TURK,<br />
&nbsp;&nbsp;EMAILS_NOT varchar(10) COLLATE PXW_TURK,<br />
&nbsp;&nbsp;CONSTRAINT PK_EMAILS_0 PRIMARY KEY (EMAILS_OTO)<br />
);</code></div></div><br />
umarım bir gün birilerinin işine yarar <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" />]]></description>
			<content:encoded><![CDATA[Merhaba , Artık eskisi gibi programlamayla uğraşamıyorum. Arada sırada ufak tefek ihtiyaçları karşılamak için kod yazıyorum o kadar. Kod yazmak çok zevkli bir iş ama hagi işi yaparsanız yapın işinize ilerledikçe eninde sonunda işletmeci-idareci oluyorsunuz. her şeyi idare ediyoruz yani. Bende baya uzak kalmışım bu alemdenki iki satır kod için baya uğraştım. Yeni mezun yazılımcı arkadaşlara tavsiyem eğer işinizi severk yapıyorsanız kendinize iyi bir iş bulun kodlaınızı yazın kalanına karşmayın tabi günümüz şartlarında bu baya zor. İş akışı sizi yapmaktan hoşalandığınız kod yazma yerine okuldan mezun olduğunuzda angraya olarak gördüğünüz işlere sürüklüyor. Her halanda böyle mesela doktor olasınız eninde sonunda baş hekim yapıyorlar doktorluk yerine hastane müdürü oluveriyorsunuz <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /><br />
Elime 3 milon dan fazla bir mail bankası geçti, dedim şunu bi temizliyim. Db ye aldım. Unic indexle bir sürü chek kontrolü ile filan geçersiz mailleri baya ayıkladım ama yetmedi. çünkü kayıtlarda ç,ş,ü, gibi kareketerler kullanılmış olacak şey değil ama oluyor. Bunları temizlemenin iki yöntemi var biri dbyi txt olarak export edip bi stajer bulup bu angraya işi notepat++ la bul değiştir yaptırmak. diğer veri tabanının bul değiştir fonksiyonunu kullanarak bu işlemi firebirde yaptırmak. Her halukarda işlem uzun sürüyor, çünkü veri çok. Neyse ben sql i seçtim ama işin başında deyim notepat++ kesin daha hızlı bitirirdi bu işi. Çünkü kod yazmasıydı filandı feşamdı derken 30 dk geçiveriyor.  birde unic index e takıldı hata verdi. Ama ben noSql e yes diyemeyen antika programcı familyasıdayım. <br />
Sadede gelmek gerekirse <br />
Emails tablsunda Emails_email alanındaki verilerde bul ve değitir işlemi yapan store procedure yi kod olarak ekliyorum. <br />
mesela veri tabanında İ kullanıldıyasa onu i olarak değiştiriyorum. <br />
bunun için cursor kullanıyorum<br />
bu fonksiyon için  firebird 2.1üstü kullanmanız gerekmekte.<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>SET TERM ^ ;<br />
create PROCEDURE DEGISTIR2<br />
AS<br />
DECLARE VARIABLE sayac INTEGER ;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp;EMAILS varchar(60);<br />
DECLARE VARIABLE&nbsp;&nbsp;&nbsp;&nbsp; KAYIT_SAYISI integer ;<br />
declare cur cursor for <br />
&nbsp;&nbsp;(select EMAILS_EMAIL&nbsp;&nbsp;from EMAILS);<br />
begin<br />
&nbsp;&nbsp;sayac = 0;<br />
&nbsp;&nbsp;select count(*)&nbsp;&nbsp;from EMAILS into :kayit_sayisi&nbsp;&nbsp;;<br />
<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;open cur;<br />
&nbsp;&nbsp;while (:kayit_sayisi&gt;sayac) do<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp; sayac = sayac +1 ;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ü', 'u');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ü', 'u');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ğ', 'g');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ğ', 'g');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'İ', 'i');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'I', 'i');&nbsp;&nbsp; <br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ş', 's');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ş', 's');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ç', 'c');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'Ö', 'o');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'ö', 'o');&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, ' ', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'www', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, 'WWW', '');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '!', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '#', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '~', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, ':', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '?', '');<br />
&nbsp;&nbsp; update EMAILS r set r.EMAILS_EMAIL = replace(r.EMAILS_EMAIL, '&#36;', '');<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;if (row_count = 0) then leave;<br />
&nbsp;&nbsp;&nbsp;&nbsp;suspend;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;close cur;<br />
<br />
<br />
<br />
&nbsp;&nbsp;<br />
<br />
end^<br />
SET TERM ; ^<br />
<br />
<br />
GRANT EXECUTE<br />
 ON PROCEDURE DEGISTIR2 TO&nbsp;&nbsp;SYSDBA;</code></div></div><br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>CREATE TABLE EMAILS<br />
(<br />
&nbsp;&nbsp;EMAILS_OTO integer NOT NULL,<br />
&nbsp;&nbsp;EMAILS_EMAIL varchar(50) COLLATE PXW_TURK,<br />
&nbsp;&nbsp;EMAILS_NOT varchar(10) COLLATE PXW_TURK,<br />
&nbsp;&nbsp;CONSTRAINT PK_EMAILS_0 PRIMARY KEY (EMAILS_OTO)<br />
);</code></div></div><br />
umarım bir gün birilerinin işine yarar <img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[firebird ile listelenmiş verinin kaynak tablosunu değiştirme yardım!]]></title>
			<link>https://www.access-sql.com/Konu-firebird-ile-listelenmis-verinin-kaynak-tablosunu-degistirme-yardim</link>
			<pubDate>Thu, 17 May 2012 09:55:54 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-firebird-ile-listelenmis-verinin-kaynak-tablosunu-degistirme-yardim</guid>
			<description><![CDATA[Arkadaşlar herkese merhaba...<br />
benim de bir sorum olacaktı.<br />
şimdi elimde firebird ile derlenmiş bir veri tabanı var bu veritabanından fastrepot ile rapor alıyorum kullandığım program aracılığyla...<br />
<br />
şimdi rapor ekranında şu şekilde sütunlar var. borç,adet,tahsi,iptal,kalan..<br />
<br />
nu sütunlar da başka bir sütun olan hesap turu sütunundan süzdürülerek geliyor..<br />
<br />
mesela 2012 yılında borç,adet,tahsil,iptal,kalan...ile 2011 yılında aynı adamlarda borç,adet,tahsil,iptal,kalan verileri farklı...<br />
<br />
benim yapmak istediğim 2012 yılındaki iptal sütunun değiştirerek buraya 2011 deki kalan verilerini eklemek istiyorum...ama yapamadım<br />
fastreport kodları şu şekilde... sizden ricam kodlarda da görülen iptal bölümüne hangi kodu eklemeliyim<br />
yardımlarınız için şimdiden çok teşekkürler...<br />
<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var<br />
grupbandsonuaktif:integer;<br />
AdetToplami,KodAdetToplami,TumAdetToplami:extended;<br />
filtre1,filtre2 : string;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;<br />
procedure BitBtn1OnClick(Sender: TfrxComponent);<br />
begin<br />
Report.SaveToFile(&lt;DDosyaYolu&gt;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
<br />
QCari.Close;<br />
QCari.SQL.Clear;<br />
QCari.SQL.Text:='SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI,S, SUM(BORC) BORC, SUM(NAKIT+CEK+SENET+KART) TAHSIL, SUM(IPTAL) IPTAL, SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL) KALAN, SUM(NAKIT) NAKIT, SUM(CEK) CEK, SUM(SENET) SENET, SUM(KART) KART, SUM(ELDEN) ELDEN, SUM(BORC-NAKIT-CEK-SENET-ELDEN-KART-IPTAL) ACIK FROM'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' ('<br />
// Borç&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, SUM(-( TL+(DL*KUR_DL)+(YR*KUR_YR) )) BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE (ID=5 OR ID=7) AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// iptal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE D = ''İ'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// nakit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ( ID IN (1,2,3,8) and&nbsp;&nbsp;D IN (''Ö'',''C'') ) AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,CIK_KODU,CIK_HESAP_TURU,CIK_CARI_ISMI,CIK_REFERANSI, 0 BORC, 0 IPTAL, SUM(-( TL+(DL*C_KUR_DL)+(YR*C_KUR_YR) )) NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, (case when CIK_CARI_ISMI=CIK_REFERANSI then ''0'' else ''1'' end) FROM VERILER WHERE D=''C'' AND ID IN (2,3) AND '+&lt;DFilterTextCikis&gt;+' GROUP BY SIRKET,CIK_HESAP_TURU,CIK_KODU,S,CIK_REFERANSI,CIK_CARI_ISMI'&nbsp;&nbsp; // KART NAKİTE EKLENDİ BEKLEMEDE OLSA DAHİ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
// çek<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ID=2 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// senet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ID=3 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// kredi kartı<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) KART ,0 ELDEN, S FROM VERILER WHERE ID=8 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
&nbsp;&nbsp;<br />
// elden <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) ELDEN ,S FROM VERILER WHERE ID=4 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' )'<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' WHERE '+&lt;DFilterTextGiris&gt;; // where yi silme çünki iç veya dış istendiğinde, cirolanan evrakların s si işi karıştırıyor.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if RSiralamaHesapturu.checked=True then // sıralama türü hesap türüne göre<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QCari.SQL.Add(' GROUP BY SIRKET,KODU,HESAP_TURU,REFERANSI,S,CARI_ISMI')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;//referansa göre<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QCari.SQL.Add(' GROUP BY SIRKET,KODU,REFERANSI,HESAP_TURU,S,CARI_ISMI');<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CTur.Text &lt;&gt; '&lt;Boş&gt;') then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:='';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:='';&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CTur.Text &lt;&gt; '&lt;Boş&gt;') then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Borç' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre1:= 'SUM(BORC)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Tahsil' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre1:= 'SUM(NAKIT+CEK+SENET+KART)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='İptal' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(IPTAL)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Kalan' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Nakit' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(NAKIT)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Çek' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(CEK)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Senet' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(SENET)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Elden' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(ELDEN)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Açık' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre1:= 'SUM(BORC-NAKIT-CEK-SENET-KART-ELDEN)'+Ckriter.Text+CTanim.Text;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CTur2.Text &lt;&gt; '&lt;Boş&gt;') then&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Borç' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre2:= ' AND SUM(BORC)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Tahsil' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre2:= ' AND SUM(NAKIT+CEK+SENET+KART)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='İptal' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(IPTAL)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Kalan' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Nakit' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(NAKIT)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Çek' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(CEK)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Senet' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(SENET)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Elden' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(ELDEN)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Açık' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre2:= ' AND SUM(BORC-NAKIT-CEK-SENET-KART-ELDEN)'+Ckriter2.Text+CTanim2.Text;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QCari.SQL.Add(' HAVING '+Filtre1+Filtre2);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; if (CTur.Text &lt;&gt; '&lt;Boş&gt;') then // filtre seçilirse referans çizgileri çıkmasın<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupBasReferans.Visible:=False;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; if CHKodToplaminiAl.checked=True then // kod toplamlarının alınması<br />
&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GroupSonKod.Visible:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if RAyriSayfa.checked=True then&nbsp;&nbsp; // kod toplamı ayri sayfada alınsın<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupBasKod.StartNewPage:=True<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupBasKod.StartNewPage:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp; end else&nbsp;&nbsp;GroupSonKod.Visible:=False;<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; if CHReferansToplami.checked=True then // referans toplamı alınsın<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GroupSonReferans.Visible:=True<br />
&nbsp;&nbsp;&nbsp;&nbsp; else GroupSonReferans.Visible:=False;<br />
<br />
end;<br />
<br />
procedure KolonSonu1OnBeforePrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;// kolon sonu alt toplamların altında bir çizgi halinde çıkıyor, çizgi çıkmasın<br />
&nbsp;&nbsp;if grupbandsonuaktif=0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp; KolonSonu1.Visible:=True<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp; KolonSonu1.Visible:=False;<br />
end;<br />
<br />
procedure Band2OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;grupbandsonuaktif:=0;<br />
end;<br />
<br />
<br />
procedure GroupFooter2OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;grupbandsonuaktif:=1;<br />
end;<br />
<br />
procedure GroupFooter1OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;grupbandsonuaktif:=1;<br />
end;<br />
<br />
procedure CheckBox1OnClick(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;if CHKodToplaminiAl.checked=True then<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyriSayfa.Enabled:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyniSayfa.Enabled:=True;<br />
&nbsp;&nbsp;end else<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyriSayfa.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyniSayfa.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
end;<br />
<br />
procedure GroupSonReferansOnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;AdetToplami:=0;<br />
end;<br />
<br />
procedure GroupSonKodOnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;KodAdetToplami:=0;<br />
end;<br />
<br />
procedure Memo78OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;AdetToplami:=AdetToplami+IIF(&lt;QAdet."SABIT_TUTAR"&gt;&lt;&gt;0,&lt;QCari."BORC"&gt; / &lt;QAdet."SABIT_TUTAR"&gt;,0);<br />
&nbsp;&nbsp;KodAdetToplami:=KodAdetToplami+IIF(&lt;QAdet."SABIT_TUTAR"&gt;&lt;&gt;0,&lt;QCari."BORC"&gt; / &lt;QAdet."SABIT_TUTAR"&gt;,0);<br />
&nbsp;&nbsp;TumAdetToplami:=TumAdetToplami+IIF(&lt;QAdet."SABIT_TUTAR"&gt;&lt;&gt;0,&lt;QCari."BORC"&gt; / &lt;QAdet."SABIT_TUTAR"&gt;,0);<br />
end;<br />
<br />
<br />
procedure CTurOnChange(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text = '&lt;Boş&gt;' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim.Text:='0';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter.Enabled:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim.Enabled:=True;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
end;<br />
<br />
<br />
procedure CTur2OnChange(Sender: TfrxComponent);<br />
procedure Bevel2OnClick(Sender: TfrxComponent);<br />
begin<br />
<br />
end;<br />
<br />
begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text = '&lt;Boş&gt;' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter2.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim2.Text:='0';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim2.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter2.Enabled:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim2.Enabled:=True;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;&nbsp;&nbsp;<br />
end;&nbsp;&nbsp;<br />
<br />
<br />
<br />
&nbsp;&nbsp;<br />
<br />
begin end.</code></div></div>]]></description>
			<content:encoded><![CDATA[Arkadaşlar herkese merhaba...<br />
benim de bir sorum olacaktı.<br />
şimdi elimde firebird ile derlenmiş bir veri tabanı var bu veritabanından fastrepot ile rapor alıyorum kullandığım program aracılığyla...<br />
<br />
şimdi rapor ekranında şu şekilde sütunlar var. borç,adet,tahsi,iptal,kalan..<br />
<br />
nu sütunlar da başka bir sütun olan hesap turu sütunundan süzdürülerek geliyor..<br />
<br />
mesela 2012 yılında borç,adet,tahsil,iptal,kalan...ile 2011 yılında aynı adamlarda borç,adet,tahsil,iptal,kalan verileri farklı...<br />
<br />
benim yapmak istediğim 2012 yılındaki iptal sütunun değiştirerek buraya 2011 deki kalan verilerini eklemek istiyorum...ama yapamadım<br />
fastreport kodları şu şekilde... sizden ricam kodlarda da görülen iptal bölümüne hangi kodu eklemeliyim<br />
yardımlarınız için şimdiden çok teşekkürler...<br />
<br />
<br />
<div class="codeblock"><div class="title">Kod:</div><div class="body" dir="ltr"><code>var<br />
grupbandsonuaktif:integer;<br />
AdetToplami,KodAdetToplami,TumAdetToplami:extended;<br />
filtre1,filtre2 : string;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;<br />
procedure BitBtn1OnClick(Sender: TfrxComponent);<br />
begin<br />
Report.SaveToFile(&lt;DDosyaYolu&gt;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
<br />
QCari.Close;<br />
QCari.SQL.Clear;<br />
QCari.SQL.Text:='SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI,S, SUM(BORC) BORC, SUM(NAKIT+CEK+SENET+KART) TAHSIL, SUM(IPTAL) IPTAL, SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL) KALAN, SUM(NAKIT) NAKIT, SUM(CEK) CEK, SUM(SENET) SENET, SUM(KART) KART, SUM(ELDEN) ELDEN, SUM(BORC-NAKIT-CEK-SENET-ELDEN-KART-IPTAL) ACIK FROM'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' ('<br />
// Borç&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, SUM(-( TL+(DL*KUR_DL)+(YR*KUR_YR) )) BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE (ID=5 OR ID=7) AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// iptal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE D = ''İ'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// nakit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ( ID IN (1,2,3,8) and&nbsp;&nbsp;D IN (''Ö'',''C'') ) AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,CIK_KODU,CIK_HESAP_TURU,CIK_CARI_ISMI,CIK_REFERANSI, 0 BORC, 0 IPTAL, SUM(-( TL+(DL*C_KUR_DL)+(YR*C_KUR_YR) )) NAKIT, 0 CEK, 0 SENET, 0 KART, 0 ELDEN, (case when CIK_CARI_ISMI=CIK_REFERANSI then ''0'' else ''1'' end) FROM VERILER WHERE D=''C'' AND ID IN (2,3) AND '+&lt;DFilterTextCikis&gt;+' GROUP BY SIRKET,CIK_HESAP_TURU,CIK_KODU,S,CIK_REFERANSI,CIK_CARI_ISMI'&nbsp;&nbsp; // KART NAKİTE EKLENDİ BEKLEMEDE OLSA DAHİ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
// çek<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) CEK, 0 SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ID=2 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// senet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) SENET, 0 KART, 0 ELDEN, S FROM VERILER WHERE ID=3 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
// kredi kartı<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) KART ,0 ELDEN, S FROM VERILER WHERE ID=8 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
&nbsp;&nbsp;<br />
// elden <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' UNION ALL'&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' SELECT SIRKET,KODU,HESAP_TURU,CARI_ISMI,REFERANSI, 0 BORC, 0 IPTAL, 0 NAKIT, 0 CEK, 0 SENET, 0 KART, SUM( TL+(DL*KUR_DL)+(YR*KUR_YR) ) ELDEN ,S FROM VERILER WHERE ID=4 AND D=''B'' AND '+&lt;DFilterTextGiris&gt;+' GROUP BY SIRKET,HESAP_TURU,KODU,S,REFERANSI,CARI_ISMI'<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' )'<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +' WHERE '+&lt;DFilterTextGiris&gt;; // where yi silme çünki iç veya dış istendiğinde, cirolanan evrakların s si işi karıştırıyor.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if RSiralamaHesapturu.checked=True then // sıralama türü hesap türüne göre<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QCari.SQL.Add(' GROUP BY SIRKET,KODU,HESAP_TURU,REFERANSI,S,CARI_ISMI')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;//referansa göre<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QCari.SQL.Add(' GROUP BY SIRKET,KODU,REFERANSI,HESAP_TURU,S,CARI_ISMI');<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CTur.Text &lt;&gt; '&lt;Boş&gt;') then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:='';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:='';&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CTur.Text &lt;&gt; '&lt;Boş&gt;') then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Borç' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre1:= 'SUM(BORC)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Tahsil' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre1:= 'SUM(NAKIT+CEK+SENET+KART)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='İptal' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(IPTAL)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Kalan' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Nakit' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(NAKIT)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Çek' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(CEK)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Senet' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(SENET)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Elden' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre1:= 'SUM(ELDEN)'+Ckriter.Text+CTanim.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text='Açık' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre1:= 'SUM(BORC-NAKIT-CEK-SENET-KART-ELDEN)'+Ckriter.Text+CTanim.Text;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CTur2.Text &lt;&gt; '&lt;Boş&gt;') then&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Borç' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre2:= ' AND SUM(BORC)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Tahsil' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre2:= ' AND SUM(NAKIT+CEK+SENET+KART)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='İptal' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(IPTAL)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Kalan' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(BORC-NAKIT-CEK-SENET-KART-IPTAL)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Nakit' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(NAKIT)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Çek' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(CEK)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Senet' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(SENET)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Elden' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filtre2:= ' AND SUM(ELDEN)'+Ckriter2.Text+CTanim2.Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text='Açık' then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filtre2:= ' AND SUM(BORC-NAKIT-CEK-SENET-KART-ELDEN)'+Ckriter2.Text+CTanim2.Text;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QCari.SQL.Add(' HAVING '+Filtre1+Filtre2);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; if (CTur.Text &lt;&gt; '&lt;Boş&gt;') then // filtre seçilirse referans çizgileri çıkmasın<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupBasReferans.Visible:=False;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; if CHKodToplaminiAl.checked=True then // kod toplamlarının alınması<br />
&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GroupSonKod.Visible:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if RAyriSayfa.checked=True then&nbsp;&nbsp; // kod toplamı ayri sayfada alınsın<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupBasKod.StartNewPage:=True<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupBasKod.StartNewPage:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp; end else&nbsp;&nbsp;GroupSonKod.Visible:=False;<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; if CHReferansToplami.checked=True then // referans toplamı alınsın<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GroupSonReferans.Visible:=True<br />
&nbsp;&nbsp;&nbsp;&nbsp; else GroupSonReferans.Visible:=False;<br />
<br />
end;<br />
<br />
procedure KolonSonu1OnBeforePrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;// kolon sonu alt toplamların altında bir çizgi halinde çıkıyor, çizgi çıkmasın<br />
&nbsp;&nbsp;if grupbandsonuaktif=0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp; KolonSonu1.Visible:=True<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp; KolonSonu1.Visible:=False;<br />
end;<br />
<br />
procedure Band2OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;grupbandsonuaktif:=0;<br />
end;<br />
<br />
<br />
procedure GroupFooter2OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;grupbandsonuaktif:=1;<br />
end;<br />
<br />
procedure GroupFooter1OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;grupbandsonuaktif:=1;<br />
end;<br />
<br />
procedure CheckBox1OnClick(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;if CHKodToplaminiAl.checked=True then<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyriSayfa.Enabled:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyniSayfa.Enabled:=True;<br />
&nbsp;&nbsp;end else<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyriSayfa.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAyniSayfa.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
end;<br />
<br />
procedure GroupSonReferansOnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;AdetToplami:=0;<br />
end;<br />
<br />
procedure GroupSonKodOnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;KodAdetToplami:=0;<br />
end;<br />
<br />
procedure Memo78OnAfterPrint(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;AdetToplami:=AdetToplami+IIF(&lt;QAdet."SABIT_TUTAR"&gt;&lt;&gt;0,&lt;QCari."BORC"&gt; / &lt;QAdet."SABIT_TUTAR"&gt;,0);<br />
&nbsp;&nbsp;KodAdetToplami:=KodAdetToplami+IIF(&lt;QAdet."SABIT_TUTAR"&gt;&lt;&gt;0,&lt;QCari."BORC"&gt; / &lt;QAdet."SABIT_TUTAR"&gt;,0);<br />
&nbsp;&nbsp;TumAdetToplami:=TumAdetToplami+IIF(&lt;QAdet."SABIT_TUTAR"&gt;&lt;&gt;0,&lt;QCari."BORC"&gt; / &lt;QAdet."SABIT_TUTAR"&gt;,0);<br />
end;<br />
<br />
<br />
procedure CTurOnChange(Sender: TfrxComponent);<br />
begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur.Text = '&lt;Boş&gt;' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim.Text:='0';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter.Enabled:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim.Enabled:=True;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
end;<br />
<br />
<br />
procedure CTur2OnChange(Sender: TfrxComponent);<br />
procedure Bevel2OnClick(Sender: TfrxComponent);<br />
begin<br />
<br />
end;<br />
<br />
begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if CTur2.Text = '&lt;Boş&gt;' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter2.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim2.Text:='0';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim2.Enabled:=False;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CKriter2.Enabled:=True;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CTanim2.Enabled:=True;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;&nbsp;&nbsp;<br />
end;&nbsp;&nbsp;<br />
<br />
<br />
<br />
&nbsp;&nbsp;<br />
<br />
begin end.</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird Veritabanında  olan procedure lar nasıl  gizlenir]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Veritabaninda-olan-procedure-lar-nasil-gizlenir</link>
			<pubDate>Fri, 16 Mar 2012 01:59:23 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Veritabaninda-olan-procedure-lar-nasil-gizlenir</guid>
			<description><![CDATA[Kendi  yazdığım programda sysdba kullanıcı  olarak  giriş  yaptığımda tüm procedure ve  trigerler  her şeyin kısacası  kodu görünüyor..ibexpert programı ile..<br />
<br />
Geçenlerde  akınsoft   muhasebe  programını inceleyim dedim.Veritabanında procedure ismi ve parametrelerini ibexpert gösteriyor programın ddl  fonsiyonu kullandığımızda  procedure içinde hangi kodlar var  bunu göremiyoruz..<br />
<br />
Böyle bir  gizlemeyi nasıl yapmışlar öğrenme imkanı var mıdır?<br />
Öğrenebilirsem aynısı bende programlarımda kullanabilirimde..]]></description>
			<content:encoded><![CDATA[Kendi  yazdığım programda sysdba kullanıcı  olarak  giriş  yaptığımda tüm procedure ve  trigerler  her şeyin kısacası  kodu görünüyor..ibexpert programı ile..<br />
<br />
Geçenlerde  akınsoft   muhasebe  programını inceleyim dedim.Veritabanında procedure ismi ve parametrelerini ibexpert gösteriyor programın ddl  fonsiyonu kullandığımızda  procedure içinde hangi kodlar var  bunu göremiyoruz..<br />
<br />
Böyle bir  gizlemeyi nasıl yapmışlar öğrenme imkanı var mıdır?<br />
Öğrenebilirsem aynısı bende programlarımda kullanabilirimde..]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird : DateDiff (Excel ETARİHLİ fonk. birebir kopyası)]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-DateDiff-Excel-ETARIHLI-fonk-birebir-kopyasi</link>
			<pubDate>Tue, 21 Feb 2012 01:58:16 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-DateDiff-Excel-ETARIHLI-fonk-birebir-kopyasi</guid>
			<description><![CDATA[SQL dilinde "DateDiff" fonksiyonunun çalışma mantığı biraz farklı olduğundan istemediğimiz farklar döner.<br />
<br />
Kıdem tazminatı vs. gibi önemli konularda istediğimiz sonuçları görebilmek için aşağıdaki proseduru (aynı zamanda bir fonksiyondur) hazırlama gereği duydum.<br />
<br />
Şimdiye kadar yaptığım testlerde hatalı sonuç çıkmadı.<br />
<br />
Faydalı olmasını dilerim...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">y   :</span> iki tarih arasındaki Toplam Yılı hesaplar<br />
<span style="font-weight: bold;" class="mycode_b">m   :</span> iki tarih arasında Toplam Ayı hesaplar<br />
<span style="font-weight: bold;" class="mycode_b">d   :</span> iki tarih arasında Toplam Günü hesaplar<br />
<span style="font-weight: bold;" class="mycode_b">md :</span> iki tarih arasındaki Günü hesaplar, Ay ve Yıl yok sayılır<br />
<span style="font-weight: bold;" class="mycode_b">yd :</span> iki tarih arasındaki Günü hesaplar, Yıl yok sayılır<br />
<span style="font-weight: bold;" class="mycode_b">ym :</span> iki tarih arasındaki Ayı hesaplar, Gün ve Yıl yok sayılır<br />
<br />
Prosedur (Fonksiyon):<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Örnek Kullanım 1:<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Örnek Kullanım 2:<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
]]></description>
			<content:encoded><![CDATA[SQL dilinde "DateDiff" fonksiyonunun çalışma mantığı biraz farklı olduğundan istemediğimiz farklar döner.<br />
<br />
Kıdem tazminatı vs. gibi önemli konularda istediğimiz sonuçları görebilmek için aşağıdaki proseduru (aynı zamanda bir fonksiyondur) hazırlama gereği duydum.<br />
<br />
Şimdiye kadar yaptığım testlerde hatalı sonuç çıkmadı.<br />
<br />
Faydalı olmasını dilerim...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">y   :</span> iki tarih arasındaki Toplam Yılı hesaplar<br />
<span style="font-weight: bold;" class="mycode_b">m   :</span> iki tarih arasında Toplam Ayı hesaplar<br />
<span style="font-weight: bold;" class="mycode_b">d   :</span> iki tarih arasında Toplam Günü hesaplar<br />
<span style="font-weight: bold;" class="mycode_b">md :</span> iki tarih arasındaki Günü hesaplar, Ay ve Yıl yok sayılır<br />
<span style="font-weight: bold;" class="mycode_b">yd :</span> iki tarih arasındaki Günü hesaplar, Yıl yok sayılır<br />
<span style="font-weight: bold;" class="mycode_b">ym :</span> iki tarih arasındaki Ayı hesaplar, Gün ve Yıl yok sayılır<br />
<br />
Prosedur (Fonksiyon):<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Örnek Kullanım 1:<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Örnek Kullanım 2:<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Trigger dan Firebird veri tabanı kullanıcısı ekleme silme ve gücelleme]]></title>
			<link>https://www.access-sql.com/Konu-Trigger-dan-Firebird-veri-tabani-kullanicisi-ekleme-silme-ve-gucelleme</link>
			<pubDate>Tue, 10 Jan 2012 10:51:27 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Trigger-dan-Firebird-veri-tabani-kullanicisi-ekleme-silme-ve-gucelleme</guid>
			<description><![CDATA[Merhaba, Veri tabanı programcılığında önemli olan olaylardan biri olan loglama konusunda firebird un diğer dblere göre bazı zorlukları vardır. Gerçi bu eksiklikler için hep alternatif çözümler sundukları için çok fazla sorun olmuyor. Bunun en başında kullancı işlemleri gelmekteyti. Neyseki Firebird 2.5 versiyonu ile bu konuyada ufak bir çözüm geldi. Şu anda en azından sql ile veri tabanı kullanıcı ekleme güncelleme ve silme yapabiliyorsunuz. Fakat ufaka bir sorun var. Bu kullanıcıları db gride listelemek filan isterseniz önce küçük bir deve yavrusu bulup hendek atlatma tecrubesi kazanmanız gerekiyor. Aslında 1-10 kullanıcı ya kadar zaten  önemli değil. Fakat kullanıcı sayınız 20 ise siz yetkilendirmeyi veri tabanı bazlı yapmak zorundasınız aksi taktirde bilgi güvenlini tam sağlayamasınız. Ardı arkası kesilmeyen bug lar la hangi veriyi kimin ne yaptığını anlayamazsınız. Sql yazmanızda oldukça zor olur. Bir düşünün kendiniz users diye bir tablo açtınız log tutcaksınız sql de log.user = tableuser.username deseniz bile tam istediğiniz sonuç gelmeyebilir. halbuki log.user = current_user ile işi çözebilirsiniz. Ayrıca veri tabanı role lerini kullanarak tabloda silme, eğiştirme yetkilendirmesi koymanız en garanti olanı olacaktır. Bu şekilde kullanacağınız db ler sizin başlangıç seviyesi sql progamcılığından orta seviye sql programcılığına doğru atacağınız büyük bir adım olacaktır. Eğer programcılığı severEk yapıyorsanız sizde bu işlevlerin kendiliğinden yapıldığını gördükçe çok zevk alacaksınız. <br />
Şimdi anlatacağım yöntem deveye hendek atlatmak yerine hdeğin üzerinde bir köprü kurup deveyi onun üzerinden geçirme operasyonu olacak. Çünkü Bu hendeğin kapanması Firebird 3.0 la mümkün gibi gözüküyor.  <br />
Yapılacak işlemler<br />
1) User tablosu hazırlanacak<br />
2) User tablosuna 3 ayrı trigger eklenecek (insert,update,delete)<br />
3) Bu trigerlara veri tabanına kullanıcı eklendiği firebird e kullancı ekliyen,<br />
Kullanıcı silindiği zaman kullanıcı silen,<br />
Kullancı paralasını güncellediği zaman paraolayı güncelliyen.<br />
<br />
Burada dikkat edilemsi gereken önemli üç not mevcut<br />
Her kullanıc kendi kullanıcı adını, ad ve soyad bilgisini ve şifresini günelleyebilir<br />
Kullanıcı ekleme silme işlemleri sadece SYSDBA yetkisindeki kullanılar yapabilir.<br />
Eklene kullancıya role atamasanız hiç bir işe yaramaz. sadece db ye bağlanır.<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
]]></description>
			<content:encoded><![CDATA[Merhaba, Veri tabanı programcılığında önemli olan olaylardan biri olan loglama konusunda firebird un diğer dblere göre bazı zorlukları vardır. Gerçi bu eksiklikler için hep alternatif çözümler sundukları için çok fazla sorun olmuyor. Bunun en başında kullancı işlemleri gelmekteyti. Neyseki Firebird 2.5 versiyonu ile bu konuyada ufak bir çözüm geldi. Şu anda en azından sql ile veri tabanı kullanıcı ekleme güncelleme ve silme yapabiliyorsunuz. Fakat ufaka bir sorun var. Bu kullanıcıları db gride listelemek filan isterseniz önce küçük bir deve yavrusu bulup hendek atlatma tecrubesi kazanmanız gerekiyor. Aslında 1-10 kullanıcı ya kadar zaten  önemli değil. Fakat kullanıcı sayınız 20 ise siz yetkilendirmeyi veri tabanı bazlı yapmak zorundasınız aksi taktirde bilgi güvenlini tam sağlayamasınız. Ardı arkası kesilmeyen bug lar la hangi veriyi kimin ne yaptığını anlayamazsınız. Sql yazmanızda oldukça zor olur. Bir düşünün kendiniz users diye bir tablo açtınız log tutcaksınız sql de log.user = tableuser.username deseniz bile tam istediğiniz sonuç gelmeyebilir. halbuki log.user = current_user ile işi çözebilirsiniz. Ayrıca veri tabanı role lerini kullanarak tabloda silme, eğiştirme yetkilendirmesi koymanız en garanti olanı olacaktır. Bu şekilde kullanacağınız db ler sizin başlangıç seviyesi sql progamcılığından orta seviye sql programcılığına doğru atacağınız büyük bir adım olacaktır. Eğer programcılığı severEk yapıyorsanız sizde bu işlevlerin kendiliğinden yapıldığını gördükçe çok zevk alacaksınız. <br />
Şimdi anlatacağım yöntem deveye hendek atlatmak yerine hdeğin üzerinde bir köprü kurup deveyi onun üzerinden geçirme operasyonu olacak. Çünkü Bu hendeğin kapanması Firebird 3.0 la mümkün gibi gözüküyor.  <br />
Yapılacak işlemler<br />
1) User tablosu hazırlanacak<br />
2) User tablosuna 3 ayrı trigger eklenecek (insert,update,delete)<br />
3) Bu trigerlara veri tabanına kullanıcı eklendiği firebird e kullancı ekliyen,<br />
Kullanıcı silindiği zaman kullanıcı silen,<br />
Kullancı paralasını güncellediği zaman paraolayı güncelliyen.<br />
<br />
Burada dikkat edilemsi gereken önemli üç not mevcut<br />
Her kullanıc kendi kullanıcı adını, ad ve soyad bilgisini ve şifresini günelleyebilir<br />
Kullanıcı ekleme silme işlemleri sadece SYSDBA yetkisindeki kullanılar yapabilir.<br />
Eklene kullancıya role atamasanız hiç bir işe yaramaz. sadece db ye bağlanır.<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird 2.5 ve 3.0]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-2-5-ve-3-0</link>
			<pubDate>Thu, 05 Jan 2012 11:34:43 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-2-5-ve-3-0</guid>
			<description><![CDATA[Firebird 2.5 deki yenilikler ve 3.0 planları ile ilgili güzel bir kaynak<br />
<a href="http://www.firebirdsql.org/file/community/ppts/fbcon11/fb.2011.whatsnew.en.pdf" target="_blank" rel="noopener" class="mycode_url">http://www.firebirdsql.org/file/communit...new.en.pdf</a>]]></description>
			<content:encoded><![CDATA[Firebird 2.5 deki yenilikler ve 3.0 planları ile ilgili güzel bir kaynak<br />
<a href="http://www.firebirdsql.org/file/community/ppts/fbcon11/fb.2011.whatsnew.en.pdf" target="_blank" rel="noopener" class="mycode_url">http://www.firebirdsql.org/file/communit...new.en.pdf</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird otmatik loglama (Trigger Level Loging)]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-otmatik-loglama-Trigger-Level-Loging</link>
			<pubDate>Wed, 04 Jan 2012 00:06:23 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-otmatik-loglama-Trigger-Level-Loging</guid>
			<description><![CDATA[Merhaba, Buraya yazmayalı yaklaşık bir yıl olmuş dedim vaktim varken firebird kısmına biraz katkım olsun. Bu sayfayı okuduğunuza göre muhtemelen sql i biliyorsunuz. En azından başlangıç seviyesi ile orta seviyede değilse benim anlatımım biraz ağır kaçacaktır. Edebiyat yapmada üstüme yoktur. Sevdiğim bir konu ise saatlerce nutuk atabilirim. Fakat anlatımım için aynı şeyleri söyleyemeyeceğim. Onun için adınız arif değilse işiniz baya zor<img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /><br />
Düzgün ve atlamadan olayları anlatmak için Flame robin ile boş bir veri tabanı açıp sırayla yaptıklarımı buraya aktarmaya çalışacağım.  Ama önce bu yapılanların ne işe yarayacağını açıklık getireyim. Diyelimki bir veri tabanınız var.  Veri tabanınıza sürekli veriler yazılıyor, değişiyor, siliniyor, peki ya işler ters giderse diyelim ki çalışanlardan biri hesaplarda ufak ufak oynamalar yapıyorsa yada yeni başlıyan personel verileri yanlışlıkla sildiyse bunu nasıl anlayacaksınız? Tabi hep fitnis fiçurus düşünmemek lazım bu kodları yaptığınız değişikleri sürekli versiyon versiyon saklamak isterseniz de kullanabilirsiniz.<br />
<br />
Kısaca yapılacak işlem Datas tablosunda bir değişiklik olursa datas tablosundaki değişikliği güncel tarih saati ve değişikliği yapan kullanıcı ile birlikte DATASLOG tablosuna yazacağız.<br />
Bu işlem için üç triger 1 store procedure ve 2 adet table (her table için 1 er otomatik tam sayı trigerı) kullanacağız.<br />
<br />
 Ben örnek dosyayı Firebird 2.5.1 de hazırladığım için bu dosyayı açmanız için En az Fb 2.5.1 kurulu olmalı.  <br />
Öncelikle Veri tabanının çiçek gibi olması için mutlaka domain kullanın.<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
SONRA VERİLERİ GİRECEĞİMİZ DATAS TABLOSUNU HAZIRLAYALIM<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
DATAS_ID otomatik artan sayı<br />
Şimdi kayıt eklendiğinde otomatik olarak kayıt tarihi ve kayıt saatini ve kaydı açan db kullanıcısını yazacak triggerı yazalaım<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
buraya kadar olan kısım normal bir sql programcısının zaten bildiği çoğu sql kod üreten programında otomatik olarak hemen yapıverdiği şeyler. Size tavsiyem veri tabanının veri tabanı olduğu yeri anlamak istiyorsanız belli bir tecrübe seviyesini geçtikten sonra otomatik kodlayıcı değil kendi kodlarınızı kullanın. böylece kendi programınız için daha hızlı ve kullanışlı kodlar yazabilirsiniz.<br />
<br />
Bundan sonrası veri tabanını deve tabanından ayıran kısım diyebiliriz. Eğer paradox sql den mahrum veri tabanları kullandıysanız bu kısım sizin için oldukça ilginç gelecektir. <br />
<br />
Şimdi bir tablo daha açalım ve içerisine DATAS tablosunda yapılan silme değiştirme ve yeni ekleme bilgilerini geçerli kullanıcı ile birlikte ekleyelim.  <br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Şimdi eğer kaydı silindiği için mi yoksa güncellediği için mi bilgisine ihtiyacımız yoksa tek bir triger işimizi görürdü. Fakat eğer bilginiz log tutacak kadar değerli ise büyük ihtimal ile logları bakarken kayıt action bilgisine ihtiyaç duyarsınız. Onun için üç ayrı triger tanımlayacağız.  Üç triger ın bir birinden farkı sadece status alanına eklendiyse 1  yaz update olduysa 2 yaz silindiyse 3 yaz komutu olacak.<br />
Bu işlemler için bir store procedure ve üç adet triger kullanmamız gerekiyor.<br />
<br />
<br />
<br />
<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Kullandığım  trigrlardan biri , diğerlerinde sadece gönderilen paremetreler değişiyor<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
DATAS TABLOSUNDA SADECE  'DATAS_1',  MANUEL VERİ GİRİN DİĞERLERİNİ TRİGERLAR GÖNDERİYOR<br />
    'DATAS_ID*',  VERİ OTOMATIK<br />
    'DATAS_DATE', VERİ  OTOMATIK<br />
    'DATAS_USER',  VERİ OTOMATIK<br />
    'DATAS_1',  MANUEL<br />
    'DATAS_TIME' VERİ OTOMATIK<br />
<br />
<br />
<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8586" target="_blank" title="">LOGDB.zip</a> (Boyut: 49,22 KB / İndirilme: 35)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba, Buraya yazmayalı yaklaşık bir yıl olmuş dedim vaktim varken firebird kısmına biraz katkım olsun. Bu sayfayı okuduğunuza göre muhtemelen sql i biliyorsunuz. En azından başlangıç seviyesi ile orta seviyede değilse benim anlatımım biraz ağır kaçacaktır. Edebiyat yapmada üstüme yoktur. Sevdiğim bir konu ise saatlerce nutuk atabilirim. Fakat anlatımım için aynı şeyleri söyleyemeyeceğim. Onun için adınız arif değilse işiniz baya zor<img src="https://www.access-sql.com/images/smilies/trz2/smile.gif" alt="Smile" title="Smile" class="smilie smilie_78" /><br />
Düzgün ve atlamadan olayları anlatmak için Flame robin ile boş bir veri tabanı açıp sırayla yaptıklarımı buraya aktarmaya çalışacağım.  Ama önce bu yapılanların ne işe yarayacağını açıklık getireyim. Diyelimki bir veri tabanınız var.  Veri tabanınıza sürekli veriler yazılıyor, değişiyor, siliniyor, peki ya işler ters giderse diyelim ki çalışanlardan biri hesaplarda ufak ufak oynamalar yapıyorsa yada yeni başlıyan personel verileri yanlışlıkla sildiyse bunu nasıl anlayacaksınız? Tabi hep fitnis fiçurus düşünmemek lazım bu kodları yaptığınız değişikleri sürekli versiyon versiyon saklamak isterseniz de kullanabilirsiniz.<br />
<br />
Kısaca yapılacak işlem Datas tablosunda bir değişiklik olursa datas tablosundaki değişikliği güncel tarih saati ve değişikliği yapan kullanıcı ile birlikte DATASLOG tablosuna yazacağız.<br />
Bu işlem için üç triger 1 store procedure ve 2 adet table (her table için 1 er otomatik tam sayı trigerı) kullanacağız.<br />
<br />
 Ben örnek dosyayı Firebird 2.5.1 de hazırladığım için bu dosyayı açmanız için En az Fb 2.5.1 kurulu olmalı.  <br />
Öncelikle Veri tabanının çiçek gibi olması için mutlaka domain kullanın.<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
SONRA VERİLERİ GİRECEĞİMİZ DATAS TABLOSUNU HAZIRLAYALIM<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
DATAS_ID otomatik artan sayı<br />
Şimdi kayıt eklendiğinde otomatik olarak kayıt tarihi ve kayıt saatini ve kaydı açan db kullanıcısını yazacak triggerı yazalaım<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
buraya kadar olan kısım normal bir sql programcısının zaten bildiği çoğu sql kod üreten programında otomatik olarak hemen yapıverdiği şeyler. Size tavsiyem veri tabanının veri tabanı olduğu yeri anlamak istiyorsanız belli bir tecrübe seviyesini geçtikten sonra otomatik kodlayıcı değil kendi kodlarınızı kullanın. böylece kendi programınız için daha hızlı ve kullanışlı kodlar yazabilirsiniz.<br />
<br />
Bundan sonrası veri tabanını deve tabanından ayıran kısım diyebiliriz. Eğer paradox sql den mahrum veri tabanları kullandıysanız bu kısım sizin için oldukça ilginç gelecektir. <br />
<br />
Şimdi bir tablo daha açalım ve içerisine DATAS tablosunda yapılan silme değiştirme ve yeni ekleme bilgilerini geçerli kullanıcı ile birlikte ekleyelim.  <br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Şimdi eğer kaydı silindiği için mi yoksa güncellediği için mi bilgisine ihtiyacımız yoksa tek bir triger işimizi görürdü. Fakat eğer bilginiz log tutacak kadar değerli ise büyük ihtimal ile logları bakarken kayıt action bilgisine ihtiyaç duyarsınız. Onun için üç ayrı triger tanımlayacağız.  Üç triger ın bir birinden farkı sadece status alanına eklendiyse 1  yaz update olduysa 2 yaz silindiyse 3 yaz komutu olacak.<br />
Bu işlemler için bir store procedure ve üç adet triger kullanmamız gerekiyor.<br />
<br />
<br />
<br />
<br />
<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
Kullandığım  trigrlardan biri , diğerlerinde sadece gönderilen paremetreler değişiyor<br />
<strong>firebird is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
DATAS TABLOSUNDA SADECE  'DATAS_1',  MANUEL VERİ GİRİN DİĞERLERİNİ TRİGERLAR GÖNDERİYOR<br />
    'DATAS_ID*',  VERİ OTOMATIK<br />
    'DATAS_DATE', VERİ  OTOMATIK<br />
    'DATAS_USER',  VERİ OTOMATIK<br />
    'DATAS_1',  MANUEL<br />
    'DATAS_TIME' VERİ OTOMATIK<br />
<br />
<br />
<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8586" target="_blank" title="">LOGDB.zip</a> (Boyut: 49,22 KB / İndirilme: 35)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird : Tam Döküman (PDF)]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Tam-Dokuman-PDF</link>
			<pubDate>Thu, 08 Dec 2011 22:05:49 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Tam-Dokuman-PDF</guid>
			<description><![CDATA[Fırsat buldukça ekli dökümanı güncelleyeceğim.<br />
Şimdilik resimli kurulum ve ilk database konusu mevcuttur.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/pdf.gif" title="" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8211" target="_blank" title="">Firebird.pdf</a> (Boyut: 530,02 KB / İndirilme: 335)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Fırsat buldukça ekli dökümanı güncelleyeceğim.<br />
Şimdilik resimli kurulum ve ilk database konusu mevcuttur.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/pdf.gif" title="" border="0" alt=".pdf" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8211" target="_blank" title="">Firebird.pdf</a> (Boyut: 530,02 KB / İndirilme: 335)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[FİREBİRD BAĞLANTI HATASI]]></title>
			<link>https://www.access-sql.com/Konu-FIREBIRD-BAGLANTI-HATASI</link>
			<pubDate>Mon, 05 Dec 2011 11:58:44 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-FIREBIRD-BAGLANTI-HATASI</guid>
			<description><![CDATA[ACCESS 2010 İLE ODBCDEN FİREBİRD VERİSİNE BAĞLANIYORUM<br />
TABLOLAR GELİYOR AMA TABLO İÇERİĞİNİ ÇAĞIRDIĞIMDA HATA VERİYOR<br />
<br />
AYNI BAĞLANTIYI EXCELL İLE SORUNSUZ YAPIYORUM <br />
NEREDE HATA YAPIYORUM SAYIN ÜSTADLAR]]></description>
			<content:encoded><![CDATA[ACCESS 2010 İLE ODBCDEN FİREBİRD VERİSİNE BAĞLANIYORUM<br />
TABLOLAR GELİYOR AMA TABLO İÇERİĞİNİ ÇAĞIRDIĞIMDA HATA VERİYOR<br />
<br />
AYNI BAĞLANTIYI EXCELL İLE SORUNSUZ YAPIYORUM <br />
NEREDE HATA YAPIYORUM SAYIN ÜSTADLAR]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird veritipileri hakkında soru?]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-veritipileri-hakkinda-soru</link>
			<pubDate>Wed, 13 Apr 2011 13:42:22 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-veritipileri-hakkinda-soru</guid>
			<description><![CDATA[Arkadaşlar merhaba,<br />
Sizlere bir sorum olacaktı, firma isminde bir tablom var ve bu tabloda telefon fax gibi alanlar mevcut. Veri tipini integer olarak atadığımda girilen tel numaralarını noktalıyor. Acaba hangi veritipini kullanmam gerekir.?<br />
Şimdiden Teşekkürler.<br />
<br />
<br />
Arkadaşlar Sorunu çzödüm.<br />
Varchar olarak kullandım .]]></description>
			<content:encoded><![CDATA[Arkadaşlar merhaba,<br />
Sizlere bir sorum olacaktı, firma isminde bir tablom var ve bu tabloda telefon fax gibi alanlar mevcut. Veri tipini integer olarak atadığımda girilen tel numaralarını noktalıyor. Acaba hangi veritipini kullanmam gerekir.?<br />
Şimdiden Teşekkürler.<br />
<br />
<br />
Arkadaşlar Sorunu çzödüm.<br />
Varchar olarak kullandım .]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Dövizli işlemlerle yürüyen  bakiye]]></title>
			<link>https://www.access-sql.com/Konu-Dovizli-islemlerle-yuruyen-bakiye</link>
			<pubDate>Fri, 21 Jan 2011 14:46:36 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Dovizli-islemlerle-yuruyen-bakiye</guid>
			<description><![CDATA[Dövizli işlemlerle yürüyen bakiye,<br />
Tek sorun en son gelen sonucu iki kere yazıyor. <br />
Soruguyu view den alıyor. Başka hata var mı bilmiyorum ama ana işlemi normal yaptı gibi gözüküyor<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
]]></description>
			<content:encoded><![CDATA[Dövizli işlemlerle yürüyen bakiye,<br />
Tek sorun en son gelen sonucu iki kere yazıyor. <br />
Soruguyu view den alıyor. Başka hata var mı bilmiyorum ama ana işlemi normal yaptı gibi gözüküyor<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird iki veri yığınında aynı veya farklı kayıtları bulma]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-iki-veri-yigininda-ayni-veya-farkli-kayitlari-bulma</link>
			<pubDate>Wed, 19 Jan 2011 19:42:11 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-iki-veri-yigininda-ayni-veya-farkli-kayitlari-bulma</guid>
			<description><![CDATA[Merhaba, Geçen seferki trigger örneğinin ardından bu sefer daha ilginç ve daha fazla kişi tarafından ihtiyaç duyulacak bir kod üzerinde duracağım. İster programcı olun ister bilgi işlemci eğer bilişim sekteründe çalışıyorsanız tahminimce mutlaka bir gün bu koda ihtiyacınız olacaktır. Çünkü patronunuz, muhasebeciniz, kaliteciniz, çaycınız bir gün karşınıza çıkıp şu iki excel dosyasında aynı olan kayıtlar ile farklı olan kayıtları birbirinden ayırırmısın gibi bir soru soracaklardır. Bu işleme sap ile samanı ayırma işlemi diyebiliriz. İhtiyaç olduça fazla olduğundan bu tür işler için kullanılacak yöntemde oldukça fazladır. Mesela ben yıllar önce kaptan mağra adamı yöntemi ismini verdiğim iç içe iki tane for dongüsü ve paradox veri tabanı ile bu sorunu çözmüştüm. İşlemin tamamlanması yaklaşık iki gün kadar sürdü. Döngü tamamlandığında sonuçtan çok süreye hayran kalmıştım. Ama neticede tüm kayıtları çok sağlıklı bir şekilde ayırdım. Progamı yazma süresi ise oldukça kısa bir zaman sürmüştü. Aslına bakarsanız Firebird de benim yaptığım for dögüsüne benzer bir şekilde olayı çözüyor. Aradaki hız farkını biraz uğraşsam bende kapatabilirdim fakat bu sefer programı yazmam iki gün çalışma süresi iki dakika sürerdi. Sql veri kümeleri üzerinde işlem yapmak için geliştirilmiş bir sistem olmasından dolayı butür işlemleri en kestirme yoldan yapıp geçer. Uzun lafın kısası amarika yı yeniden keşfetmeye gerek yok. Veri yığınları üzerinde işlem yapılacaksa sql kullanmak en mantıklı çözüm.<br />
Şimdi yapacağımız kod ile ilgili bir sistem analizi yapalım.<br />
İhtiyacımız olan<br />
2 adet tablo<br />
2 adet view<br />
Tabloları veri 1 veri 2 gibi karşılaştırma yapılacak verileri saklamak için kullanacağız.<br />
View ler ise<br />
1. view iki tablo arasındaki aynı kayıtları bulacak<br />
2. view ise ili tablo arasındaki farklı kayıtları bulacak<br />
Not : Çalışmaları Firebird 2.5 doayası olarak yüklüyorum daha düşük sürümlerde ods hatası verir ve çalışmaz.<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5656" target="_blank" title="">FBTEST0_2.zip</a> (Boyut: 50,95 KB / İndirilme: 35)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Merhaba, Geçen seferki trigger örneğinin ardından bu sefer daha ilginç ve daha fazla kişi tarafından ihtiyaç duyulacak bir kod üzerinde duracağım. İster programcı olun ister bilgi işlemci eğer bilişim sekteründe çalışıyorsanız tahminimce mutlaka bir gün bu koda ihtiyacınız olacaktır. Çünkü patronunuz, muhasebeciniz, kaliteciniz, çaycınız bir gün karşınıza çıkıp şu iki excel dosyasında aynı olan kayıtlar ile farklı olan kayıtları birbirinden ayırırmısın gibi bir soru soracaklardır. Bu işleme sap ile samanı ayırma işlemi diyebiliriz. İhtiyaç olduça fazla olduğundan bu tür işler için kullanılacak yöntemde oldukça fazladır. Mesela ben yıllar önce kaptan mağra adamı yöntemi ismini verdiğim iç içe iki tane for dongüsü ve paradox veri tabanı ile bu sorunu çözmüştüm. İşlemin tamamlanması yaklaşık iki gün kadar sürdü. Döngü tamamlandığında sonuçtan çok süreye hayran kalmıştım. Ama neticede tüm kayıtları çok sağlıklı bir şekilde ayırdım. Progamı yazma süresi ise oldukça kısa bir zaman sürmüştü. Aslına bakarsanız Firebird de benim yaptığım for dögüsüne benzer bir şekilde olayı çözüyor. Aradaki hız farkını biraz uğraşsam bende kapatabilirdim fakat bu sefer programı yazmam iki gün çalışma süresi iki dakika sürerdi. Sql veri kümeleri üzerinde işlem yapmak için geliştirilmiş bir sistem olmasından dolayı butür işlemleri en kestirme yoldan yapıp geçer. Uzun lafın kısası amarika yı yeniden keşfetmeye gerek yok. Veri yığınları üzerinde işlem yapılacaksa sql kullanmak en mantıklı çözüm.<br />
Şimdi yapacağımız kod ile ilgili bir sistem analizi yapalım.<br />
İhtiyacımız olan<br />
2 adet tablo<br />
2 adet view<br />
Tabloları veri 1 veri 2 gibi karşılaştırma yapılacak verileri saklamak için kullanacağız.<br />
View ler ise<br />
1. view iki tablo arasındaki aynı kayıtları bulacak<br />
2. view ise ili tablo arasındaki farklı kayıtları bulacak<br />
Not : Çalışmaları Firebird 2.5 doayası olarak yüklüyorum daha düşük sürümlerde ods hatası verir ve çalışmaz.<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5656" target="_blank" title="">FBTEST0_2.zip</a> (Boyut: 50,95 KB / İndirilme: 35)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird içinden teklif numarası oluşturma]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-icinden-teklif-numarasi-olusturma</link>
			<pubDate>Mon, 17 Jan 2011 23:34:01 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-icinden-teklif-numarasi-olusturma</guid>
			<description><![CDATA[trigger ile otomatik olarak sipariş numarası hazırlayalım. Her zamanki gibi ilk önce analiz yaparak işe başlıyoruz. Sipariş numarmız yıl+ay+xxxx olarak 4 basamklı bir sayıdan oluşsun. 2011010001,2011010002.....2011020001...2012010001 gibi üç tane değişim süreci var. 4 basamklı sayı her ay değişiminde sıfırlanması gerekiyor. Bu işlemi herhangi bir programlama dilinden 5 dakikada yapabilirsiniz. Fakat en güvenli yol veri tabanı üzerinden yapmaktır. Karışıklık çıkmaz. Aynı sipariş numarasını başkasına verme riski olmaz. Bu numarayı oluşturmak için<br />
<br />
* 2 adet trigger<br />
* 3 adet generator<br />
* 1 adet test tablsou oluşturacağız.<br />
<br />
Öncelikle test tablosundan başlıyalım.<br />
order adında bir tablomuz ve iki adet alanımız olsun. Tablo isimlerini ingilizce kullanmanızı tavsiye ederim. bir gün projeniz büyürse ekibin nereli olacağı hiç belli olmuyor.<br />
1. alan order_id Otomatik artan integer<br />
2. alan order_no 20 Karekterli String utf8<br />
Numara alanına string değer atama nedenim bazen numaranın başına harf koymak gerekebiliyor. Mesela sipariş numarası ile teklif numarasını ayırmak için teklifin başına T siparişin başına S harfi koymak gerekebiliyor. 10 karekter yerine 20 karekter kullanma nedeni ise ileri ye dönük taleplerin tam karşılanabilmesi. Karekter sınırını sadece çıktı alırken sayfaya sığması için kullanın artık veri tabanları terebaylara kadar veri depolayabiliyor. vchar bir alanda 10 tane fazla string kesinlikle size bir zarar vermez.<br />
Şimdi generator leri nerede kullanacağımız tesbit edelim.<br />
<br />
1. generator ü order_id nin otomatik olarak artması için kullanacağız<br />
2. generator ü teklif sıra numarasının artması için kullanacağız<br />
3. generatoru ise ay değişmişmi değişmemişmi anlamak için kullanacağız<br />
<br />
Asıl işlevi trigger yapacak. Trigger ı order tablosunun BEFORE INSERT olayına ekliyoruz.<br />
<br />
Şimdiye kadar anlatılan teklif numarası oluşturma ile ilgili kod öneli olan aşğıdaki trigger diğer kodlar standart ems veya ibx otomatik olarak oluşturuyor. Takdir edersinizki 3. parti programlarla otomatik olarak oluşabilen kodları buradan vermenin bir anlamı yok. Bu örnek ile generator ve Trigger ın güçünü anlamış olacaksınız. Tavsiyem bu tip kodlar kullanmadan mobil cihazlar için kod geliştirme işine hiç girmeyin.<br />
Bu arada order isimli bir tablo adı tavsiye edilmez Çünkü Order By deyimi ile sorun yaşayabilirsiniz. Bu örnekte sorun çıkmadı fakat bu hiç çıkmaz demek değil. Bir güncelleme olur bi şey olur order da patlayabilir.<br />
Son olarak ekteki dosyadan çlışan örneği görebilirsiniz.<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5640" target="_blank" title="">FBTEST0_1.zip</a> (Boyut: 46,32 KB / İndirilme: 30)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[trigger ile otomatik olarak sipariş numarası hazırlayalım. Her zamanki gibi ilk önce analiz yaparak işe başlıyoruz. Sipariş numarmız yıl+ay+xxxx olarak 4 basamklı bir sayıdan oluşsun. 2011010001,2011010002.....2011020001...2012010001 gibi üç tane değişim süreci var. 4 basamklı sayı her ay değişiminde sıfırlanması gerekiyor. Bu işlemi herhangi bir programlama dilinden 5 dakikada yapabilirsiniz. Fakat en güvenli yol veri tabanı üzerinden yapmaktır. Karışıklık çıkmaz. Aynı sipariş numarasını başkasına verme riski olmaz. Bu numarayı oluşturmak için<br />
<br />
* 2 adet trigger<br />
* 3 adet generator<br />
* 1 adet test tablsou oluşturacağız.<br />
<br />
Öncelikle test tablosundan başlıyalım.<br />
order adında bir tablomuz ve iki adet alanımız olsun. Tablo isimlerini ingilizce kullanmanızı tavsiye ederim. bir gün projeniz büyürse ekibin nereli olacağı hiç belli olmuyor.<br />
1. alan order_id Otomatik artan integer<br />
2. alan order_no 20 Karekterli String utf8<br />
Numara alanına string değer atama nedenim bazen numaranın başına harf koymak gerekebiliyor. Mesela sipariş numarası ile teklif numarasını ayırmak için teklifin başına T siparişin başına S harfi koymak gerekebiliyor. 10 karekter yerine 20 karekter kullanma nedeni ise ileri ye dönük taleplerin tam karşılanabilmesi. Karekter sınırını sadece çıktı alırken sayfaya sığması için kullanın artık veri tabanları terebaylara kadar veri depolayabiliyor. vchar bir alanda 10 tane fazla string kesinlikle size bir zarar vermez.<br />
Şimdi generator leri nerede kullanacağımız tesbit edelim.<br />
<br />
1. generator ü order_id nin otomatik olarak artması için kullanacağız<br />
2. generator ü teklif sıra numarasının artması için kullanacağız<br />
3. generatoru ise ay değişmişmi değişmemişmi anlamak için kullanacağız<br />
<br />
Asıl işlevi trigger yapacak. Trigger ı order tablosunun BEFORE INSERT olayına ekliyoruz.<br />
<br />
Şimdiye kadar anlatılan teklif numarası oluşturma ile ilgili kod öneli olan aşğıdaki trigger diğer kodlar standart ems veya ibx otomatik olarak oluşturuyor. Takdir edersinizki 3. parti programlarla otomatik olarak oluşabilen kodları buradan vermenin bir anlamı yok. Bu örnek ile generator ve Trigger ın güçünü anlamış olacaksınız. Tavsiyem bu tip kodlar kullanmadan mobil cihazlar için kod geliştirme işine hiç girmeyin.<br />
Bu arada order isimli bir tablo adı tavsiye edilmez Çünkü Order By deyimi ile sorun yaşayabilirsiniz. Bu örnekte sorun çıkmadı fakat bu hiç çıkmaz demek değil. Bir güncelleme olur bi şey olur order da patlayabilir.<br />
Son olarak ekteki dosyadan çlışan örneği görebilirsiniz.<br />
<strong>FIREBIRD is not a supported langage</strong><br />
List of available langages :<br />
php, smarty, cuesheet, div, q, mapbasic, gambas, cfdg, netrexx, css, freeswitch, z80, java5, sparql, falcon, asymptote, dot, mxml, plsql, fsharp, dcpu16, vala, basic4gl, qbasic, clojure, oobas, powershell, rails, diff, pli, freebasic, sas, stonescript, scheme, latex, f1, pascal, 6502kickass, bnf, llvm, klonecpp, povray, applescript, python, coffeescript, progress, html4strict, postgresql, lua, newlisp, lisp, unicon, cadlisp, asm, vba, oxygene, modula2, urbi, go, gnuplot, m68k, vbnet, euphoria, spark, xorg_conf, properties, lolcode, oberon2, xbasic, avisynth, yaml, vhdl, cpp, logtalk, powerbuilder, gml, perl, icon, sdlbasic, fo, ocaml-brief, mmix, providex, pic16, klonec, abap, gwbasic, nagios, pike, genero, purebasic, zxbasic, haxe, lotusformulas, awk, visualfoxpro, cobol, pcre, ocaml, apt_sources, chaiscript, autoconf, j, intercal, 68000devpac, xml, asp, lotusscript, bascomavr, genie, tcl, prolog, upc, rebol, octave, nsis, groovy, cil, mirc, smalltalk, oracle11, pycon, mpasm, dos, rsplus, c, locobasic, ini, bash, d, javascript, vedit, magiksf, thinbasic, lb, parasail, proftpd, whitespace, oz, whois, teraterm, 4cs, actionscript, csharp, apache, make, objc, boo, fortran, delphi, oorexx, idl, ecmascript, visualprolog, algol68, verilog, html5, caddcl, haskell, uscript, blitzbasic, rpmspec, java, rexx, scilab, bibtex, ldif, inno, c_loadrunner, hq9plus, perl6, erlang, gdb, kixtart, vim, oracle8, reg, dcs, typoscript, per, hicest, objeck, eiffel, mysql, actionscript3, parigp, pys60, 6502acme, lscript, epc, gettext, scala, tsql, lsl2, matlab, autoit, pf, xpp, robots, ruby, cmake, ada, systemverilog, winbatch, c_mac, jquery, text, e, io, php-brief, pixelbender, modula3, glsl, autohotkey, email, cfm, bf, sql, 6502tasm, arm, dcl, cpp-qt<br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/zip.png" title="Zip File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5640" target="_blank" title="">FBTEST0_1.zip</a> (Boyut: 46,32 KB / İndirilme: 30)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird : Sayıyı yazıya çevirme (Stored Procedure)]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Sayiyi-yaziya-cevirme-Stored-Procedure</link>
			<pubDate>Wed, 05 Jan 2011 23:14:46 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Sayiyi-yaziya-cevirme-Stored-Procedure</guid>
			<description><![CDATA[Tabloda bir alana sayısal veri girildiğinde/güncellediğinde diğer alanda metnini yazdırmak için bir trigger içinde kullanabileceğiniz stored procedure hazırladım.<br />
<br />
Umarım beğenirsiniz. <img src="https://www.access-sql.com/images/smilies/trz2/wink.gif" alt="Wink" title="Wink" class="smilie smilie_97" /><br />
<br />
İki aşamada yapılıyor:<br />
- "TL" proc. sayıyı virgülden sonra iki hane olacak şekilde sayıyı düzelterek tam ve kuruş kısmını çeviri için hazırlıyor.<br />
- "Çeviri" proc. ise, input aldığı bu sayıları metne çeviriyor.<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> TL<span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  say <span style="color: #993333; font-weight: bold;">DOUBLE</span> <span style="color: #993333; font-weight: bold;">PRECISION</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tum       <span style="color: #993333; font-weight: bold;">DOUBLE</span> <span style="color: #993333; font-weight: bold;">PRECISION</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tam       <span style="color: #993333; font-weight: bold;">BIGINT</span>           <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> kurus     <span style="color: #993333; font-weight: bold;">SMALLINT</span>         <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;  </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- declare sayi_yonu varchar(6)       = '';</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tl_birim  <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>          <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> krs_birim <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>          <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;  </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tmp       <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span>     <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- sayi_yonu = iif(sign(say) = 1, '', 'Eksi /');</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tum <span style="color: #66cc66;">=</span> round<span style="color: #66cc66;">&#40;</span>abs<span style="color: #66cc66;">&#40;</span>say<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tam <span style="color: #66cc66;">=</span> trunc<span style="color: #66cc66;">&#40;</span>tum<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  kurus <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span>tum <span style="color: #66cc66;">-</span> tam<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">100</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tl_birim <span style="color: #66cc66;">=</span> iif<span style="color: #66cc66;">&#40;</span>tam <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TL'</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  krs_birim <span style="color: #66cc66;">=</span> iif<span style="color: #66cc66;">&#40;</span>kurus <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KR'</span><span style="color: #66cc66;">&#41;</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">EXECUTE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> ceviri<span style="color: #66cc66;">&#40;</span>:tam<span style="color: #66cc66;">&#41;</span> returning_values<span style="color: #66cc66;">&#40;</span>:tmp<span style="color: #66cc66;">&#41;</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #66cc66;">=</span> tmp <span style="color: #66cc66;">||</span> tl_birim;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">EXECUTE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> ceviri<span style="color: #66cc66;">&#40;</span>:kurus<span style="color: #66cc66;">&#41;</span> returning_values<span style="color: #66cc66;">&#40;</span>:tmp<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tmp <span style="color: #66cc66;">=</span> sonuc <span style="color: #66cc66;">||</span>:tmp <span style="color: #66cc66;">||</span> krs_birim;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- sonuc = :sayi_yonu || trim(:tmp);</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">TRIM</span><span style="color: #66cc66;">&#40;</span>:tmp<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #808080; font-style: italic;">/* select için */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #808080; font-style: italic;">-- suspend;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> ceviri<span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  say <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable birler <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable onlar  <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable yuzler <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable diger  <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable v_say  <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable tmp    <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable s      <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable c1     <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable c2     <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable c3     <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  v_say <span style="color: #66cc66;">=</span> lpad<span style="color: #66cc66;">&#40;</span>say<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'0'</span><span style="color: #66cc66;">&#41;</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  while <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span> do</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      s <span style="color: #66cc66;">=</span> :s <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>;   </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      c1 <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">SUBSTRING</span><span style="color: #66cc66;">&#40;</span>:v_say <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span>     <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      c2 <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">SUBSTRING</span><span style="color: #66cc66;">&#40;</span>:v_say <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      c3 <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">SUBSTRING</span><span style="color: #66cc66;">&#40;</span>:v_say <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> birler <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :c1 <span style="color: #993333; font-weight: bold;">INTO</span> :birler;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> onlar  <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :c2 <span style="color: #993333; font-weight: bold;">INTO</span> :onlar;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> yuzler <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :c3 <span style="color: #993333; font-weight: bold;">INTO</span> :yuzler;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> diger  <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :s  <span style="color: #993333; font-weight: bold;">INTO</span> :diger;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      tmp <span style="color: #66cc66;">=</span> :yuzler <span style="color: #66cc66;">||</span> :onlar <span style="color: #66cc66;">||</span> :birler;	 </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>tmp <span style="color: #66cc66;">&lt;&gt;</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">          <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>s <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>tmp <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'Bir'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            tmp <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'Bin'</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">          <span style="color: #993333; font-weight: bold;">ELSE</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            tmp <span style="color: #66cc66;">=</span> :tmp <span style="color: #66cc66;">||</span> :diger;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            sonuc <span style="color: #66cc66;">=</span> :sonuc <span style="color: #66cc66;">||</span> :tmp; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #993333; font-weight: bold;">END</span>        </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span>    </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">/* Select için */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- suspend;  </span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
Metinler için hazırlamanız gereken tablo yapısı:<br />
<img src="http://www.access-sql.com/attachment.php?aid=5528" alt="[Resim: attachment.php?aid=5528]" class="mycode_img" /><br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/image.gif" title="JPEG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5528" target="_blank" title="">FB_Data.jpg</a> (Boyut: 32,03 KB / İndirilme: 155)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Tabloda bir alana sayısal veri girildiğinde/güncellediğinde diğer alanda metnini yazdırmak için bir trigger içinde kullanabileceğiniz stored procedure hazırladım.<br />
<br />
Umarım beğenirsiniz. <img src="https://www.access-sql.com/images/smilies/trz2/wink.gif" alt="Wink" title="Wink" class="smilie smilie_97" /><br />
<br />
İki aşamada yapılıyor:<br />
- "TL" proc. sayıyı virgülden sonra iki hane olacak şekilde sayıyı düzelterek tam ve kuruş kısmını çeviri için hazırlıyor.<br />
- "Çeviri" proc. ise, input aldığı bu sayıları metne çeviriyor.<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> TL<span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  say <span style="color: #993333; font-weight: bold;">DOUBLE</span> <span style="color: #993333; font-weight: bold;">PRECISION</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tum       <span style="color: #993333; font-weight: bold;">DOUBLE</span> <span style="color: #993333; font-weight: bold;">PRECISION</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tam       <span style="color: #993333; font-weight: bold;">BIGINT</span>           <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> kurus     <span style="color: #993333; font-weight: bold;">SMALLINT</span>         <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;  </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- declare sayi_yonu varchar(6)       = '';</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tl_birim  <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>          <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> krs_birim <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>          <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;  </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> tmp       <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span>     <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- sayi_yonu = iif(sign(say) = 1, '', 'Eksi /');</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tum <span style="color: #66cc66;">=</span> round<span style="color: #66cc66;">&#40;</span>abs<span style="color: #66cc66;">&#40;</span>say<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tam <span style="color: #66cc66;">=</span> trunc<span style="color: #66cc66;">&#40;</span>tum<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  kurus <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span>tum <span style="color: #66cc66;">-</span> tam<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">100</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tl_birim <span style="color: #66cc66;">=</span> iif<span style="color: #66cc66;">&#40;</span>tam <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TL'</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  krs_birim <span style="color: #66cc66;">=</span> iif<span style="color: #66cc66;">&#40;</span>kurus <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KR'</span><span style="color: #66cc66;">&#41;</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">EXECUTE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> ceviri<span style="color: #66cc66;">&#40;</span>:tam<span style="color: #66cc66;">&#41;</span> returning_values<span style="color: #66cc66;">&#40;</span>:tmp<span style="color: #66cc66;">&#41;</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #66cc66;">=</span> tmp <span style="color: #66cc66;">||</span> tl_birim;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">EXECUTE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> ceviri<span style="color: #66cc66;">&#40;</span>:kurus<span style="color: #66cc66;">&#41;</span> returning_values<span style="color: #66cc66;">&#40;</span>:tmp<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  tmp <span style="color: #66cc66;">=</span> sonuc <span style="color: #66cc66;">||</span>:tmp <span style="color: #66cc66;">||</span> krs_birim;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- sonuc = :sayi_yonu || trim(:tmp);</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">TRIM</span><span style="color: #66cc66;">&#40;</span>:tmp<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #808080; font-style: italic;">/* select için */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #808080; font-style: italic;">-- suspend;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> ceviri<span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  say <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable birler <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable onlar  <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable yuzler <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable diger  <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable v_say  <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable tmp    <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable s      <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable c1     <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable c2     <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">DECLARE</span> variable c3     <span style="color: #993333; font-weight: bold;">SMALLINT</span>     <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  sonuc <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  v_say <span style="color: #66cc66;">=</span> lpad<span style="color: #66cc66;">&#40;</span>say<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'0'</span><span style="color: #66cc66;">&#41;</span>; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  while <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span> do</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      s <span style="color: #66cc66;">=</span> :s <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>;   </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      c1 <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">SUBSTRING</span><span style="color: #66cc66;">&#40;</span>:v_say <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span>     <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      c2 <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">SUBSTRING</span><span style="color: #66cc66;">&#40;</span>:v_say <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      c3 <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">SUBSTRING</span><span style="color: #66cc66;">&#40;</span>:v_say <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>:s <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> birler <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :c1 <span style="color: #993333; font-weight: bold;">INTO</span> :birler;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> onlar  <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :c2 <span style="color: #993333; font-weight: bold;">INTO</span> :onlar;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> yuzler <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :c3 <span style="color: #993333; font-weight: bold;">INTO</span> :yuzler;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">SELECT</span> diger  <span style="color: #993333; font-weight: bold;">FROM</span> metinler <span style="color: #993333; font-weight: bold;">WHERE</span> id <span style="color: #66cc66;">=</span> :s  <span style="color: #993333; font-weight: bold;">INTO</span> :diger;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      tmp <span style="color: #66cc66;">=</span> :yuzler <span style="color: #66cc66;">||</span> :onlar <span style="color: #66cc66;">||</span> :birler;	 </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>tmp <span style="color: #66cc66;">&lt;&gt;</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">          <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>s <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>tmp <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'Bir'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            tmp <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'Bin'</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">          <span style="color: #993333; font-weight: bold;">ELSE</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            tmp <span style="color: #66cc66;">=</span> :tmp <span style="color: #66cc66;">||</span> :diger;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            sonuc <span style="color: #66cc66;">=</span> :sonuc <span style="color: #66cc66;">||</span> :tmp; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #993333; font-weight: bold;">END</span>        </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span>    </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">/* Select için */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #808080; font-style: italic;">-- suspend;  </span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
Metinler için hazırlamanız gereken tablo yapısı:<br />
<img src="http://www.access-sql.com/attachment.php?aid=5528" alt="[Resim: attachment.php?aid=5528]" class="mycode_img" /><br />
<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.access-sql.com/images/attachtypes/image.gif" title="JPEG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5528" target="_blank" title="">FB_Data.jpg</a> (Boyut: 32,03 KB / İndirilme: 155)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird de İlişkisel Veritabanı ve SP,Triger Oluşturma]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-de-Iliskisel-Veritabani-ve-SP-Triger-Olusturma</link>
			<pubDate>Tue, 28 Dec 2010 11:03:36 +0200</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-de-Iliskisel-Veritabani-ve-SP-Triger-Olusturma</guid>
			<description><![CDATA[Herkese Selamlar, Benim bir sorunum var arkadaşlar. Bir stok takip projem var. Veritabanı olarak firebird kullanıyorum ama bir türlü istediğim stok girişi ve çıkışını yapamadım. Amacım stoğa giriş olduğunda giriş miktarı kadar mevcut stoğa eklensin, stok çıkışı olduğundada mevcut stoktan çıkış miktarı düşsün. Bunun için 3 tablom var urun_giris(ug_id,u_id,u_adi,gir_miktar),urun_cikis(ug_id,u_id,u_adi,gir_miktar),urun_durum(u_id,u_adi,s_durum) ve bir şu şekilde  prosedur tanımlıyorum;<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> s_gir_durum</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">u_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">gir_miktar <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">durum <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> variable stk_mevcut <span style="color: #993333; font-weight: bold;">INTEGER</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   stk_mevcut<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">SELECT</span> urun_durum<span style="color: #66cc66;">.</span>u_id<span style="color: #66cc66;">,</span>urun_giris<span style="color: #66cc66;">.</span>gir_miktar <span style="color: #993333; font-weight: bold;">FROM</span> urun_giris<span style="color: #66cc66;">,</span> urun_durum</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">INTO</span> :u_id<span style="color: #66cc66;">,</span> :gir_miktar do</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   stk_mevcut<span style="color: #66cc66;">=</span>stk_mevcut <span style="color: #66cc66;">+</span> gir_miktar;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    durum<span style="color: #66cc66;">=</span>stk_mevcut;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    suspend;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span></div></li></ol></pre></code></div></div><br /><br />
<br />
Ancak bir türlü stok girişi yaptığım zaman mevcut stoğu etkiletemedim. Acaba hatam nerde ? Yardımcı olursanız çok sevinirim.Ayrıca da her türlü görüş ve önerilerinize açığım. Saygılarımla]]></description>
			<content:encoded><![CDATA[Herkese Selamlar, Benim bir sorunum var arkadaşlar. Bir stok takip projem var. Veritabanı olarak firebird kullanıyorum ama bir türlü istediğim stok girişi ve çıkışını yapamadım. Amacım stoğa giriş olduğunda giriş miktarı kadar mevcut stoğa eklensin, stok çıkışı olduğundada mevcut stoktan çıkış miktarı düşsün. Bunun için 3 tablom var urun_giris(ug_id,u_id,u_adi,gir_miktar),urun_cikis(ug_id,u_id,u_adi,gir_miktar),urun_durum(u_id,u_adi,s_durum) ve bir şu şekilde  prosedur tanımlıyorum;<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> s_gir_durum</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">u_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">gir_miktar <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">durum <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> variable stk_mevcut <span style="color: #993333; font-weight: bold;">INTEGER</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   stk_mevcut<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">0</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">SELECT</span> urun_durum<span style="color: #66cc66;">.</span>u_id<span style="color: #66cc66;">,</span>urun_giris<span style="color: #66cc66;">.</span>gir_miktar <span style="color: #993333; font-weight: bold;">FROM</span> urun_giris<span style="color: #66cc66;">,</span> urun_durum</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">INTO</span> :u_id<span style="color: #66cc66;">,</span> :gir_miktar do</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   stk_mevcut<span style="color: #66cc66;">=</span>stk_mevcut <span style="color: #66cc66;">+</span> gir_miktar;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    durum<span style="color: #66cc66;">=</span>stk_mevcut;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    suspend;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span></div></li></ol></pre></code></div></div><br /><br />
<br />
Ancak bir türlü stok girişi yaptığım zaman mevcut stoğu etkiletemedim. Acaba hatam nerde ? Yardımcı olursanız çok sevinirim.Ayrıca da her türlü görüş ve önerilerinize açığım. Saygılarımla]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird: Embed (Gömülü) çalışma]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Embed-Gomulu-calisma</link>
			<pubDate>Wed, 21 Oct 2009 01:17:52 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Embed-Gomulu-calisma</guid>
			<description><![CDATA[Herkese merhaba,<br />
<br />
Acaba özellikleri tam olarak kullanabilmek şartıyla tıpkı mdb üzerinde çalışır gibi bir Firebird veritabanı üzerinde çalışılabilir mi?<br />
<br />
Yanıt: EVET<br />
<br />
Gerekli dll' ler ve programımız aynı dizinde olması şartıyla mümkündür. Veritabanı (.fdb) istediğiniz yerde olabilir. Bir başka deyişle bilgisayarınıza server kurmanıza gerek yoktur.<br />
<br />
<img src="http://img3.imageshack.us/img3/4914/myapp2.jpg" alt="[Resim: myapp2.jpg]" class="mycode_img" /><br />
<br />
Resimde görülen dosyalar bu projenin çalışması için gerekli dosyalardır. Extradan üç dosya koydum. Bu projenin çalışması içindir. Bunlar:<br />
<br />
- OdbcFb.dll (System32 klasörüne)<br />
- MSDATGRD.OCX (System32 klasörüne)<br />
- reg.vbs<br />
<br />
<span style="font-weight: bold;" class="mycode_b">reg.vbs</span> scripti sizi zahmete sokmadan OdbcFb.dll dosyasını System32 klasörüne kopylayıp register kaydını yapmak ve Datagrid nesne hatası almamanız içindir. Bu işlemi sadece bir kez yapacaksınız.<br />
<br />
Unutmayın ki, ekteki Odbc dosyası WinXP32 bit içindir.<br />
<br />
<a href="http://www.excel.web.tr/derres/zeki/my_app.rar" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">BURADAN İNDİRİN</span></a>]]></description>
			<content:encoded><![CDATA[Herkese merhaba,<br />
<br />
Acaba özellikleri tam olarak kullanabilmek şartıyla tıpkı mdb üzerinde çalışır gibi bir Firebird veritabanı üzerinde çalışılabilir mi?<br />
<br />
Yanıt: EVET<br />
<br />
Gerekli dll' ler ve programımız aynı dizinde olması şartıyla mümkündür. Veritabanı (.fdb) istediğiniz yerde olabilir. Bir başka deyişle bilgisayarınıza server kurmanıza gerek yoktur.<br />
<br />
<img src="http://img3.imageshack.us/img3/4914/myapp2.jpg" alt="[Resim: myapp2.jpg]" class="mycode_img" /><br />
<br />
Resimde görülen dosyalar bu projenin çalışması için gerekli dosyalardır. Extradan üç dosya koydum. Bu projenin çalışması içindir. Bunlar:<br />
<br />
- OdbcFb.dll (System32 klasörüne)<br />
- MSDATGRD.OCX (System32 klasörüne)<br />
- reg.vbs<br />
<br />
<span style="font-weight: bold;" class="mycode_b">reg.vbs</span> scripti sizi zahmete sokmadan OdbcFb.dll dosyasını System32 klasörüne kopylayıp register kaydını yapmak ve Datagrid nesne hatası almamanız içindir. Bu işlemi sadece bir kez yapacaksınız.<br />
<br />
Unutmayın ki, ekteki Odbc dosyası WinXP32 bit içindir.<br />
<br />
<a href="http://www.excel.web.tr/derres/zeki/my_app.rar" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">BURADAN İNDİRİN</span></a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firebird : Yürüyen Bakiye Uygulaması]]></title>
			<link>https://www.access-sql.com/Konu-Firebird-Yuruyen-Bakiye-Uygulamasi</link>
			<pubDate>Sun, 18 Oct 2009 16:17:12 +0300</pubDate>
			<guid isPermaLink="false">https://www.access-sql.com/Konu-Firebird-Yuruyen-Bakiye-Uygulamasi</guid>
			<description><![CDATA[Herkese merhaba,<br />
<br />
Zaman zaman soru gelir... yürüyen, koşan, zıplayan bakiye vs.<br />
Standart "SELECT" sql ile tam bir işkence haline gelebilen bu istek SQL Server sistemlerde kolay ve "ÇOK" hızlıdır.<br />
<br />
Sevgili Berkant <span style="color: #0000CD;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b"><a href="http://www.access-sql.com/konu-sql-server-running-sum-yuruyen-bakiye?pid=26684#pid26684" target="_blank" rel="noopener" class="mycode_url">konuyla ilgili</a></span></span> performans sonuçlarını bizlerle paylaşmıştı. Ben de Firebird ile yaptığım test sonuçlarını sizlerle paylaşmak istedim.<br />
<br />
Koşullar:<br />
Local sistem; Firebird Server versiyon:2.1.3; Celeron 2.8; 2 GB DDR; Toplam 50.000 ondalıklı kayıt.<br />
<br />
Süreler, VB6 ile Datagrid nesnesinde görüntülendikten sonra alındı.<br />
<br />
Database Yapısı (SQL Script):<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">/* ZEKİ GÜRSOY © 2009 */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">/* Script bittiğinde connection da otomatik</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;  kapanacaktır. */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Yeni database..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> <span style="color: #ff0000;">'C:<span style="color: #000099; font-weight: bold;">&#092;z</span>eki.fdb'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">USER</span> <span style="color: #ff0000;">'SYSDBA'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PASSWORD <span style="color: #ff0000;">'masterkey'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PAGE_SIZE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">2048</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #993333; font-weight: bold;">SET</span> WIN1254;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Tablo yapmak için bağlantı kur..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CONNECT</span> <span style="color: #ff0000;">'C:<span style="color: #000099; font-weight: bold;">&#092;z</span>eki.fdb'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">USER</span> <span style="color: #ff0000;">'SYSDBA'</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   PASSWORD <span style="color: #ff0000;">'masterkey'</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Tablo..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> SATISLAR <span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- ID alanı indexlenir..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> INDEXIM <span style="color: #993333; font-weight: bold;">ON</span> SATISLAR<span style="color: #66cc66;">&#40;</span>SATID<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">/* Procedure' ler..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;   Firebird' de iki farklı cursor kullanımı vardır:</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;   1- For-Each yapısı,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;   2- Fetch (Explicit) cursor */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">SET</span> TERM ^;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- For-Each yapı..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> BAKIYELER</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">FOR</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>^</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Fetch yapı..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> BAKIYELER2</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> C CURSOR <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">OPEN</span> C;  </div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> WHILE <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    FETCH C <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">ROW_COUNT</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span> LEAVE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  CLOSE C;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>^</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">SET</span> TERM ; ^</div></li></ol></pre></code></div></div><br /><br />
<br />
Kayıt dolduran yapı..<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- 50.000 adet 10 ile 100 arası rasgele ondalık sayılar..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">EXECUTE</span> BLOCK</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> I <span style="color: #993333; font-weight: bold;">INT</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  WHILE <span style="color: #66cc66;">&#40;</span>I <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">50000</span><span style="color: #66cc66;">&#41;</span> DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> SATISLAR <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span>:I<span style="color: #66cc66;">,</span> ROUND<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">90</span> <span style="color: #66cc66;">*</span> RAND<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    I <span style="color: #66cc66;">=</span> I <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
Bilindiği gibi Stored Procedure' ler sunucu(server) işlenir. Cursor' lar ayrıca Firebird' de standart sql cümlelerinde de kullanılabiliyor "EXECUTE BLOCK" deyimi ile.<br />
<br />
For-Each yapı..<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">EXECUTE</span> BLOCK</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span>SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
Fetch yapı..<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">EXECUTE</span> BLOCK</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span>SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> C  CURSOR <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">OPEN</span> C;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  WHILE <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    FETCH C <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">ROW_COUNT</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span> LEAVE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;   </div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  CLOSE C;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Sonuçlar:</span><br />
<br />
- Execute Block For-Each           : 1,22 sn <br />
- Execute Block Fetch Cursor      : 1,26 sn<br />
- Stored Procedure For-Each      : 1,56 sn<br />
- Stored Procedure Fetch Cursor : 1,67 sn<br />
<br />
<img src="http://img18.imageshack.us/img18/5636/speedtest2q.jpg" alt="[Resim: speedtest2q.jpg]" class="mycode_img" /><br />
<br />
<img src="http://img30.imageshack.us/img30/5673/speedtestv.jpg" alt="[Resim: speedtestv.jpg]" class="mycode_img" /><br />
<br />
<br />
.]]></description>
			<content:encoded><![CDATA[Herkese merhaba,<br />
<br />
Zaman zaman soru gelir... yürüyen, koşan, zıplayan bakiye vs.<br />
Standart "SELECT" sql ile tam bir işkence haline gelebilen bu istek SQL Server sistemlerde kolay ve "ÇOK" hızlıdır.<br />
<br />
Sevgili Berkant <span style="color: #0000CD;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b"><a href="http://www.access-sql.com/konu-sql-server-running-sum-yuruyen-bakiye?pid=26684#pid26684" target="_blank" rel="noopener" class="mycode_url">konuyla ilgili</a></span></span> performans sonuçlarını bizlerle paylaşmıştı. Ben de Firebird ile yaptığım test sonuçlarını sizlerle paylaşmak istedim.<br />
<br />
Koşullar:<br />
Local sistem; Firebird Server versiyon:2.1.3; Celeron 2.8; 2 GB DDR; Toplam 50.000 ondalıklı kayıt.<br />
<br />
Süreler, VB6 ile Datagrid nesnesinde görüntülendikten sonra alındı.<br />
<br />
Database Yapısı (SQL Script):<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">/* ZEKİ GÜRSOY © 2009 */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">/* Script bittiğinde connection da otomatik</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;  kapanacaktır. */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Yeni database..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> <span style="color: #ff0000;">'C:<span style="color: #000099; font-weight: bold;">&#092;z</span>eki.fdb'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">USER</span> <span style="color: #ff0000;">'SYSDBA'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PASSWORD <span style="color: #ff0000;">'masterkey'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PAGE_SIZE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">2048</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #993333; font-weight: bold;">SET</span> WIN1254;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Tablo yapmak için bağlantı kur..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CONNECT</span> <span style="color: #ff0000;">'C:<span style="color: #000099; font-weight: bold;">&#092;z</span>eki.fdb'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">USER</span> <span style="color: #ff0000;">'SYSDBA'</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   PASSWORD <span style="color: #ff0000;">'masterkey'</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Tablo..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> SATISLAR <span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- ID alanı indexlenir..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> INDEXIM <span style="color: #993333; font-weight: bold;">ON</span> SATISLAR<span style="color: #66cc66;">&#40;</span>SATID<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">/* Procedure' ler..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;   Firebird' de iki farklı cursor kullanımı vardır:</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;   1- For-Each yapısı,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">&nbsp;   2- Fetch (Explicit) cursor */</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">SET</span> TERM ^;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- For-Each yapı..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> BAKIYELER</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">FOR</span> </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>^</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- Fetch yapı..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> BAKIYELER2</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> C CURSOR <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">OPEN</span> C;  </div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> WHILE <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    FETCH C <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">ROW_COUNT</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span> LEAVE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  CLOSE C;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>^</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">SET</span> TERM ; ^</div></li></ol></pre></code></div></div><br /><br />
<br />
Kayıt dolduran yapı..<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808080; font-style: italic;">-- 50.000 adet 10 ile 100 arası rasgele ondalık sayılar..</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">EXECUTE</span> BLOCK</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> I <span style="color: #993333; font-weight: bold;">INT</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  WHILE <span style="color: #66cc66;">&#40;</span>I <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">50000</span><span style="color: #66cc66;">&#41;</span> DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> SATISLAR <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span>:I<span style="color: #66cc66;">,</span> ROUND<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">90</span> <span style="color: #66cc66;">*</span> RAND<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    I <span style="color: #66cc66;">=</span> I <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
Bilindiği gibi Stored Procedure' ler sunucu(server) işlenir. Cursor' lar ayrıca Firebird' de standart sql cümlelerinde de kullanılabiliyor "EXECUTE BLOCK" deyimi ile.<br />
<br />
For-Each yapı..<br />
<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">EXECUTE</span> BLOCK</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span>SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">   <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
Fetch yapı..<br />
<div class="codeblock"><div class="title">SQL</div><div class="body"><code><pre class="sql" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">EXECUTE</span> BLOCK</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">RETURNS</span><span style="color: #66cc66;">&#40;</span>SATID <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SATIS <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">AS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> VARIABLE DYN_BAKIYE <span style="color: #993333; font-weight: bold;">NUMERIC</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">18</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">DECLARE</span> C  CURSOR <span style="color: #993333; font-weight: bold;">FOR</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SATID<span style="color: #66cc66;">,</span> SATIS</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"> <span style="color: #993333; font-weight: bold;">FROM</span> SATISLAR<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">DYN_BAKIYE <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0.00</span>;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">OPEN</span> C;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  WHILE <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> DO</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">BEGIN</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    FETCH C <span style="color: #993333; font-weight: bold;">INTO</span> :SATID<span style="color: #66cc66;">,</span> :SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">ROW_COUNT</span> <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">THEN</span> LEAVE;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    DYN_BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE <span style="color: #66cc66;">+</span> SATIS;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    BAKIYE <span style="color: #66cc66;">=</span> DYN_BAKIYE; </div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    SUSPEND;   </div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  <span style="color: #993333; font-weight: bold;">END</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">  CLOSE C;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #993333; font-weight: bold;">END</span>;</div></li></ol></pre></code></div></div><br /><br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Sonuçlar:</span><br />
<br />
- Execute Block For-Each           : 1,22 sn <br />
- Execute Block Fetch Cursor      : 1,26 sn<br />
- Stored Procedure For-Each      : 1,56 sn<br />
- Stored Procedure Fetch Cursor : 1,67 sn<br />
<br />
<img src="http://img18.imageshack.us/img18/5636/speedtest2q.jpg" alt="[Resim: speedtest2q.jpg]" class="mycode_img" /><br />
<br />
<img src="http://img30.imageshack.us/img30/5673/speedtestv.jpg" alt="[Resim: speedtestv.jpg]" class="mycode_img" /><br />
<br />
<br />
.]]></content:encoded>
		</item>
	</channel>
</rss>