Ay Bazında İçerikler: February 2012

Feb 9 2012

Bir tabloda IDENTITY alanı geçici olarak iptal etmek

Bir tablonun içindeki değerleri başka bir tabloya taşıyorsanız ve ID değerlerini korumak istiyorsanız en basit yöntem ile DB de o kolonun identity değerini değiştirmeniz, insert işlemini yapıp daha sonrasında da yeniden Identity olarak tanımlamanız gerekmektedir. Fakat bunun yerine set identity_insert table_name on komutu ile sorunsuzca bu işlemi tek seferde gerçekleştirebilirsiniz.

 

Burada dikkat etmeniz gereken şey tablonun identity özelliğini kapattığınız için aynı ID li değerler oluşabilmektedir.

 

 

set identity_insert SETUP_SERVICE_ADD_OPTIONS on

 

INSERT INTO

      SETUP_SERVICE_ADD_OPTIONS

(

      SERVICE_ADD_OPTION_ID,

      SERVICE_ADD_OPTION_NAME,

      DETAIL,

      RECORD_IP,

      RECORD_DATE,

      RECORD_EMP,

      UPDATE_DATE,

      UPDATE_EMP,

      UPDATE_IP

)

SELECT

      SALES_ADD_OPTION_ID,

      SALES_ADD_OPTION_NAME,

      DETAIL,

      RECORD_IP,

      RECORD_DATE,

      RECORD_EMP,

      UPDATE_DATE,

      UPDATE_EMP,

      UPDATE_IP

FROM SETUP_SALES_ADD_OPTIONS

 

set identity_insert SETUP_SERVICE_ADD_OPTIONS off

0 yorum - Gönderen : Levent (10:07 AM) - Kategori : SQL | TSQL

Feb 8 2012

IDENTITY alanlar için Tabloya En Son Kayıt Edilen Satırın ID Değerini Almak

Bir tabloya kayıt attıktan sonra en son oluşan ID değerini almak isteyebiliriz. Bunun için bir INSERT gerçekleştirdikten sonra yeni bir sorgu ile ilgili kolonun MAX(Kolon_Adı) değerini çekerek

 

INSERT

 

INTO MUSTERILER (MUSTERI_ADI,MUSTERI_SOYADI) VALUES ('ALEX','DE SOUZA')

 

 

SELECT

 

MAX(MUSTERI_ID) AS MAX_MUSTERI_ID FROM MUSTERILER

 

Fakat bu işlemde SQL e iki kere bağlantı kurmamız gerekmekte ve gereksiz yere performans kaybına neden olmaktadır.

 

 

 

Bunun yerine SQL server 2005 ve yukarısı versiyonlar için işlemi tek query de yapmak istiyorsak  @@IDENTITY fonksiyonunu kullanabiliriz.  @@IDENTITY fonksiyonunu INSERT, SELECT INTO ve bulk copy işlemleri için de kullanabiliriz. Kısaca örnek vermek gerekirse

 

INSERT

 

INTO MUSTERILER (MUSTERI_ADI,MUSTERI_SOYADI) VALUES ('ALEX','DE SOUZA')

SELECT

 

@@IDENTITY AS MAX_MUSTERI_ID

Bu query de yine bize en son kayıt edilen satırın ID değerini döndürecektir.

0 yorum - Gönderen : Levent (9:47 AM) - Kategori : SQL | TSQL

Feb 2 2012

<cfmail> </cfmail> tagleri içinde query kullanımı

Göndericeğimiz bir mail için de queryden çektiğimiz değerleri kullanmak istiyorsak mail in içeriğine <cfoutput query=””> yazdığımız zaman coldfusion bize hata verecektir. Bunun yerine cfmail tag inin query parametresine queryimizi tanımlamamız gerekmektedir.

 

 

<cfquery name=”BEN_BIR_QUERYIM” datasource”XXX”>

                SELECT SIPARIS_NUMARASI, SIPARIS_TUTARI, SIPARIS_TARIHI FROM XML_TABLE

</cfquery>

 

                <cfmail to = "mail@adresiyim.com" from = "XX@XXXX.com" subject = "cCc" type="html" query="BEN_BIR_QUERYIM">

                               <pre>

                               <table>

                                               <tr>

                                                               <td>Siparis No</td>

                                                               <td>Tahsilat Bedeli</td>

                                                               <td>Tahsilat Tarihi</td>

                                               </tr>

                                                               <cfoutput>

                                                               <tr>

                                                                              <td>#SIPARIS_NUMARASI#</td>

                                                                              <td>#SIPARIS_TUTARI#</td>

                                                                               <td>#right(SIPARIS_TARIHI,2)#/#mid(SIPARIS_TARIHI,5,2)#/#left(SIPARIS_TARIHI,4)#</td>

                                                               </tr>

                                                               </cfoutput>

                               </table>

                               </pre>

                </cfmail>

2 yorum - Gönderen : Levent (9:42 AM) - Kategori : Coldfusion