<?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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>SQL&#8217;de Özet Tarih Tablosu / Date dimension table yazısına yapılan yorumlar</title>
	<atom:link href="http://www.ahmetkaymaz.com/wp-seo-link-holder_akaymaz.php/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/feed/?404;http://www.ahmetkaymaz.com:80/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ahmetkaymaz.com/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/</link>
	<description>SQL Server, C#, VB.NET, ASP.NET, AJAX ile ilgili örnek kitap ve ipuçları</description>
	<lastBuildDate>Fri, 03 Sep 2010 13:59:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Ahmet Kaymaz tarafından</title>
		<link>http://www.ahmetkaymaz.com/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/comment-page-1/#comment-6590</link>
		<dc:creator>Ahmet Kaymaz</dc:creator>
		<pubDate>Fri, 18 Sep 2009 05:43:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/?p=232#comment-6590</guid>
		<description>Unsal tam olarak ne yapmak istediğin bilmediğim ve veriler eksik olduğu için buradan yardımcı olmakta zorlanıyorum. Stored Procedure veya Cursor yapıları SQL&#039;de çok kolay yazılır ki bunları zaten biliyorsun. Bence sorun yapmak istediklerinde mantıksal hatalar var. Onları gözden geçirmelisin. Adım adım gitmende fayda vardır.</description>
		<content:encoded><![CDATA[<p>Unsal tam olarak ne yapmak istediğin bilmediğim ve veriler eksik olduğu için buradan yardımcı olmakta zorlanıyorum. Stored Procedure veya Cursor yapıları SQL&#8217;de çok kolay yazılır ki bunları zaten biliyorsun. Bence sorun yapmak istediklerinde mantıksal hatalar var. Onları gözden geçirmelisin. Adım adım gitmende fayda vardır.</p>
]]></content:encoded>
	</item>
	<item>
		<title>UNSAL OSMA tarafından</title>
		<link>http://www.ahmetkaymaz.com/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/comment-page-1/#comment-6578</link>
		<dc:creator>UNSAL OSMA</dc:creator>
		<pubDate>Thu, 17 Sep 2009 11:27:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/?p=232#comment-6578</guid>
		<description>anahtar kolon olarak rez_id kolonunu kullanıyorum dediğinizi yapınca iki tarih arası update etti yani tarih kısmında sorun çıkarmadı ama benim diğer kolonlarım olan zaman1,zaman2,zaman3,zaman4 bunlarda güncellerken ben zaman4 veri giriyorum ama bunu yaparken zaman1,zaman2 gibi diğer sütünlardaki verileri siliyor.
mesala ;
zaman1--zaman2--zaman3--zaman4
 AAAAA   BBBB    CCCC    DDDD
 AAAAA   VVVV    DDDD    ZZZZ Burda zaman4 deki (ZZZZ) değiştirip (TTTT) Yapınca aşağıdaki gibi diğer sutunları siliyor
    
zaman1--zaman2--zaman3--zaman4
 AAAAA   BBBB    CCCC    DDDD
  ?       ?        ?     TTTT güncelleme sonrası soru işareti olan yerler böyle oluyor.neden yapabilir bunu.SP ve Cursor kullanımında acemi olduğum için çok zorlanıoyrum.</description>
		<content:encoded><![CDATA[<p>anahtar kolon olarak rez_id kolonunu kullanıyorum dediğinizi yapınca iki tarih arası update etti yani tarih kısmında sorun çıkarmadı ama benim diğer kolonlarım olan zaman1,zaman2,zaman3,zaman4 bunlarda güncellerken ben zaman4 veri giriyorum ama bunu yaparken zaman1,zaman2 gibi diğer sütünlardaki verileri siliyor.<br />
mesala ;<br />
zaman1&#8211;zaman2&#8211;zaman3&#8211;zaman4<br />
 AAAAA   BBBB    CCCC    DDDD<br />
 AAAAA   VVVV    DDDD    ZZZZ Burda zaman4 deki (ZZZZ) değiştirip (TTTT) Yapınca aşağıdaki gibi diğer sutunları siliyor</p>
<p>zaman1&#8211;zaman2&#8211;zaman3&#8211;zaman4<br />
 AAAAA   BBBB    CCCC    DDDD<br />
  ?       ?        ?     TTTT güncelleme sonrası soru işareti olan yerler böyle oluyor.neden yapabilir bunu.SP ve Cursor kullanımında acemi olduğum için çok zorlanıoyrum.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Ahmet Kaymaz tarafından</title>
		<link>http://www.ahmetkaymaz.com/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/comment-page-1/#comment-6574</link>
		<dc:creator>Ahmet Kaymaz</dc:creator>
		<pubDate>Thu, 17 Sep 2009 09:01:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/?p=232#comment-6574</guid>
		<description>Yazdığın sorgu doğru çalışıyor fakat bir mantık hatası var.

UPDATE tennis SET tarih=@bastarih,otel=@otel,kort=@kort,zaman1=@zaman1,kayitno=@kayitno
WHERE kayitno=@kayitno

bu ifade tabloyu o tarih aralığı kadar güncelliyor yani her defasında tarih alanını yeni @bastarih değeriyle güncelliyor ve döngüden çıkarken doğal olarak tablo ensonki tarih ile güncellenmiş olacak. tennis tablosunda her tarih için ayrı satırları güncellemesini bekliyorsun sanırım ama WHERE kayitno=@kayitno olduğu için her defasında bu koşula uyan tüm kayıtlar güncellenmiş olacak ve yeni tarih eski tarihi ezecektir. O tabloyu başka bir anahtar kolonla güncellemek lazım veya tablodaki tüm kayıtları silip yeniden insert yapmak lazım.</description>
		<content:encoded><![CDATA[<p>Yazdığın sorgu doğru çalışıyor fakat bir mantık hatası var.</p>
<p>UPDATE tennis SET tarih=@bastarih,otel=@otel,kort=@kort,zaman1=@zaman1,kayitno=@kayitno<br />
WHERE kayitno=@kayitno</p>
<p>bu ifade tabloyu o tarih aralığı kadar güncelliyor yani her defasında tarih alanını yeni @bastarih değeriyle güncelliyor ve döngüden çıkarken doğal olarak tablo ensonki tarih ile güncellenmiş olacak. tennis tablosunda her tarih için ayrı satırları güncellemesini bekliyorsun sanırım ama WHERE kayitno=@kayitno olduğu için her defasında bu koşula uyan tüm kayıtlar güncellenmiş olacak ve yeni tarih eski tarihi ezecektir. O tabloyu başka bir anahtar kolonla güncellemek lazım veya tablodaki tüm kayıtları silip yeniden insert yapmak lazım.</p>
]]></content:encoded>
	</item>
	<item>
		<title>UNSAL OSMA tarafından</title>
		<link>http://www.ahmetkaymaz.com/2008/02/27/sqlde-ozet-tarih-tablosu-date-dimension-table/comment-page-1/#comment-6550</link>
		<dc:creator>UNSAL OSMA</dc:creator>
		<pubDate>Tue, 15 Sep 2009 20:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/?p=232#comment-6550</guid>
		<description>SP ile cursor kullanıp tarihler arası toplu kayıt yapmaya çalışıyorum.kaydetme kısmı çalışıyor ama update kısmında sorun yaşıyorum update etmek istediğimde tarih aralığındaki tüm deperleri bitiş tarihi ile aynı yapıyor.kodlarım aşağıda acaba bakabilirmisiniz nerde hata yapıyorum.bir haftadır çatlattı beni çözemedim.

ALTER PROCEDURE diger

    @bastarih datetime,
    @bittarih datetime,
    @otel nvarchar(50),
    @kort nvarchar(50),
    @zaman1 text,
    @kayitno int
   
AS

DECLARE @tarih1 datetime
DECLARE @tarih2 datetime
DECLARE @otel1 nvarchar(50)
DECLARE @kort1 nvarchar(50)
DECLARE @zaman19 nvarchar(50)
DECLARE @kayitno1 int
DECLARE @MyCursor CURSOR 


SET @MyCursor = CURSOR FOR 
SELECT tarih,otel,kort,zaman1,kayitno FROM tennis
OPEN @MyCursor
FETCH NEXT FROM @MyCursor INTO @tarih1,@otel1,@kort1,@zaman19,@kayitno1

SELECT tarih,otel,kort,zaman1,kayitno FROM tennis

WHILE (@@FETCH_STATUS = 0) 
BEGIN 

	IF EXISTS (SELECT kayitno FROM tennis WHERE kayitno=@kayitno)
begin
while @basTarih &lt;= @bitTarih
    begin 
	UPDATE tennis  SET tarih=@bastarih,otel=@otel,kort=@kort,zaman1=@zaman1,kayitno=@kayitno
	WHERE kayitno=@kayitno
	set @basTarih = dateadd(day,1,@basTarih)
	end
	end
	else
    begin

while @basTarih &lt;= @bitTarih
    begin 

	INSERT INTO tennis(tarih,otel,kort,zaman1,kayitno)
	VALUES (@bastarih,@otel,@kort,@zaman1,@kayitno)
    set @basTarih = dateadd(day,1,@basTarih)
	end  
	END 

FETCH NEXT FROM @MyCursor INTO  @tarih1,@otel1,@kort1,@zaman19,@kayitno1
END

SELECT tarih,otel,kort,zaman1,kayitno FROM tennis 
CLOSE @MyCursor
DEALLOCATE @MyCursor</description>
		<content:encoded><![CDATA[<p>SP ile cursor kullanıp tarihler arası toplu kayıt yapmaya çalışıyorum.kaydetme kısmı çalışıyor ama update kısmında sorun yaşıyorum update etmek istediğimde tarih aralığındaki tüm deperleri bitiş tarihi ile aynı yapıyor.kodlarım aşağıda acaba bakabilirmisiniz nerde hata yapıyorum.bir haftadır çatlattı beni çözemedim.</p>
<p>ALTER PROCEDURE diger</p>
<p>    @bastarih datetime,<br />
    @bittarih datetime,<br />
    @otel nvarchar(50),<br />
    @kort nvarchar(50),<br />
    @zaman1 text,<br />
    @kayitno int</p>
<p>AS</p>
<p>DECLARE @tarih1 datetime<br />
DECLARE @tarih2 datetime<br />
DECLARE @otel1 nvarchar(50)<br />
DECLARE @kort1 nvarchar(50)<br />
DECLARE @zaman19 nvarchar(50)<br />
DECLARE @kayitno1 int<br />
DECLARE @MyCursor CURSOR </p>
<p>SET @MyCursor = CURSOR FOR<br />
SELECT tarih,otel,kort,zaman1,kayitno FROM tennis<br />
OPEN @MyCursor<br />
FETCH NEXT FROM @MyCursor INTO @tarih1,@otel1,@kort1,@zaman19,@kayitno1</p>
<p>SELECT tarih,otel,kort,zaman1,kayitno FROM tennis</p>
<p>WHILE (@@FETCH_STATUS = 0)<br />
BEGIN </p>
<p>	IF EXISTS (SELECT kayitno FROM tennis WHERE kayitno=@kayitno)<br />
begin<br />
while @basTarih &lt;= @bitTarih<br />
    begin<br />
	UPDATE tennis  SET tarih=@bastarih,otel=@otel,kort=@kort,zaman1=@zaman1,kayitno=@kayitno<br />
	WHERE kayitno=@kayitno<br />
	set @basTarih = dateadd(day,1,@basTarih)<br />
	end<br />
	end<br />
	else<br />
    begin</p>
<p>while @basTarih &lt;= @bitTarih<br />
    begin </p>
<p>	INSERT INTO tennis(tarih,otel,kort,zaman1,kayitno)<br />
	VALUES (@bastarih,@otel,@kort,@zaman1,@kayitno)<br />
    set @basTarih = dateadd(day,1,@basTarih)<br />
	end<br />
	END </p>
<p>FETCH NEXT FROM @MyCursor INTO  @tarih1,@otel1,@kort1,@zaman19,@kayitno1<br />
END</p>
<p>SELECT tarih,otel,kort,zaman1,kayitno FROM tennis<br />
CLOSE @MyCursor<br />
DEALLOCATE @MyCursor</p>
]]></content:encoded>
	</item>
</channel>
</rss>
