SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
2009-01-16 00:00:00.000
16 Ocak 2009 Cuma
T-SQL: Get only Date from DateTime
Sadece tarih bilgisidir.... Saat, dakika, saniye hep 0
23 Kasım 2008 Pazar
SQL SERVER - Tek insert into ile birden fazla kayıt girebilmek - UNION ALL kullanımı
Ref:http://blog.sqlauthority.com/2007/06/08/sql-server-insert-multiple-records-using-one-insert-statement-use-of-union-all/
UNION
UNION ilişkili tabloların aynı tipte verileri olması kaydıyla DISTINCT ile getirmesidir. JOIN lemesi gibi.
UNION ALL
UNION ALL, UNION komutuna eşittir bir farkla, o da tüm değerleri seçmesi.
Union all çiftlenmiş kayıtlarıda getirir. Tüm kayıtlarını getirir ve tablolarını birleştirir.
A UNION komutu SELECT DISTINCT sonucunu getirir. Eğer tüm satırların eşsiz olarak ayrıştığını biliyorsanız UNION ALL kullanın, çünkü daha hızlıdır.
Örneğin:
Table 1 : First,Second,Third,Fourth,Fifth
Table 2 : First,Second,Fifth,Sixth
Result Set:
UNION: First,Second,Third,Fourth,Fifth,Sixth (This will remove duplicate values)
UNION ALL: First,First,Second,Second,Third,Fourth,Fifth,Fifth,Sixth,Sixth (This will repeat values)
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('First',1);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Second',2);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Third',3);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fourth',4);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fifth',5);
GO
yerine
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
UNION ALL
SELECT 'Fourth' ,4
UNION ALL
SELECT 'Fifth' ,5
GO
sonuç:
INSERT : 5 saniye
INSERT SELECT UNION ALL : 40 milisaniye
UNION
UNION ilişkili tabloların aynı tipte verileri olması kaydıyla DISTINCT ile getirmesidir. JOIN lemesi gibi.
UNION ALL
UNION ALL, UNION komutuna eşittir bir farkla, o da tüm değerleri seçmesi.
Union all çiftlenmiş kayıtlarıda getirir. Tüm kayıtlarını getirir ve tablolarını birleştirir.
A UNION komutu SELECT DISTINCT sonucunu getirir. Eğer tüm satırların eşsiz olarak ayrıştığını biliyorsanız UNION ALL kullanın, çünkü daha hızlıdır.
Örneğin:
Table 1 : First,Second,Third,Fourth,Fifth
Table 2 : First,Second,Fifth,Sixth
Result Set:
UNION: First,Second,Third,Fourth,Fifth,Sixth (This will remove duplicate values)
UNION ALL: First,First,Second,Second,Third,Fourth,Fifth,Fifth,Sixth,Sixth (This will repeat values)
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('First',1);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Second',2);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Third',3);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fourth',4);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fifth',5);
GO
yerine
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
UNION ALL
SELECT 'Fourth' ,4
UNION ALL
SELECT 'Fifth' ,5
GO
sonuç:
INSERT : 5 saniye
INSERT SELECT UNION ALL : 40 milisaniye
SELECT INTO
Ref:reference
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('First',1);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Second',2);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Third',3);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fourth',4);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fifth',5);
GO
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('First',1);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Second',2);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Third',3);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fourth',4);
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('Fifth',5);
GO
INSERT INTO SELECT
Ref: http://blog.sqlauthority.com/2007/06/08/sql-server-insert-multiple-records-using-one-insert-statement-use-of-union-all/
USE AdventureWorks
GO
----Create TestTable
CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100))
----INSERT INTO TestTable using SELECT
INSERT INTO TestTable (FirstName, LastName)
SELECT FirstName, LastName
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable
GO
USE AdventureWorks
GO
----Create TestTable
CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100))
----INSERT INTO TestTable using SELECT
INSERT INTO TestTable (FirstName, LastName)
SELECT FirstName, LastName
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable
GO
30 Ekim 2008 Perşembe
Cannot resolve the collation conflict between “SQL_Latin1_General_CP1254_CI_AS” and “Turkish_CS_AI” in the equal to operation
ALTER DATABASE kanTahlilleri_new COLLATE SQL_Latin1_General_CP1254_CI_AS
Kaynak: http://www.ahmetkaymaz.com/2006/12/29/sql-serverde-language-ve-collation-kavrami/
select ilce.Ilce_text+‘/’+Il.Il_text
from Il_kodlarI Il
left join Ilce_kodu ilce on ilce.Il_kodu = Il.Il_kodu
collate Turkish_CS_AI
Etiketler:
ALTER,
COLLATE,
SQL_Latin1_General_CP1254_CI_AS
23 Ekim 2008 Perşembe
MSSQL 2005 Hata Yakalama TRY CATCH
BEGIN TRY
select 1/0
END TRY
BEGIN CATCH
-- Hatayı görüntüleyelim
SELECT
ERROR_NUMBER() AS HATANUMARASI
,ERROR_MESSAGE() AS HATAMESAJ
,ERROR_SEVERITY() AS ONEM
,ERROR_STATE() AS DURUM
-- Hatayı tabloya yazalım
INSERT INTO Errors
SELECT ERROR_NUMBER()
,ERROR_MESSAGE()
,ERROR_STATE()
,ERROR_SEVERITY()
END CATCH
ERROR_NUMBER() : Oluşan hatanın kodunu verir
ERROR_MESSAGE() : Oluşan hatanın tam metnini verir. Bu hata mesajı hatanın parametreleri, açıklaması, zamanlaması gibi bilgileri içerir.
ERROR_SEVERITY() : Hatanın önem derecesini bildirir
ERROR_STATE() : Hatanın durum numarasını döndürür.
ERROR_LINE() : Hatanın oluştuğu satırı bildirir.
ERROR_PROCEDURE() : Hatanın oluştuğu stored procedure’un veya trigger’ın adını döndürür
select 1/0
END TRY
BEGIN CATCH
-- Hatayı görüntüleyelim
SELECT
ERROR_NUMBER() AS HATANUMARASI
,ERROR_MESSAGE() AS HATAMESAJ
,ERROR_SEVERITY() AS ONEM
,ERROR_STATE() AS DURUM
-- Hatayı tabloya yazalım
INSERT INTO Errors
SELECT ERROR_NUMBER()
,ERROR_MESSAGE()
,ERROR_STATE()
,ERROR_SEVERITY()
END CATCH
ERROR_NUMBER() : Oluşan hatanın kodunu verir
ERROR_MESSAGE() : Oluşan hatanın tam metnini verir. Bu hata mesajı hatanın parametreleri, açıklaması, zamanlaması gibi bilgileri içerir.
ERROR_SEVERITY() : Hatanın önem derecesini bildirir
ERROR_STATE() : Hatanın durum numarasını döndürür.
ERROR_LINE() : Hatanın oluştuğu satırı bildirir.
ERROR_PROCEDURE() : Hatanın oluştuğu stored procedure’un veya trigger’ın adını döndürür
24 Eylül 2008 Çarşamba
SQL 2005 ile database olaylarını izlemek. Loglama
Original:http://www.simple-talk.com/content/print.aspx?article=396
© Simple-Talk.com
© Simple-Talk.com
Kaydol:
Kayıtlar (Atom)