Bu yazımda sizlere bir databasede Primary Keyi olmayan tabloları bulmanın kolay yolunu anlatmaya çalışacağım. Primary Key olmayan tabloları bulmanın bir çok yolu var. Ben üç tanesini yazmak istiyorum.
1.Yöntem
Bu yöntemde OBJECTPROPERTY fonksiyonun TableHasPrimaryKey kullanarak tüm tabloları kontrol edilir ve Primary Key olmayan tespit edilir.
use [AdventureWorks2016CTP3]
go
SELECT
SCHEMA_NAME(schema_id) AS [Schema name]
,
name AS [Table name]
FROM sys.tables
WHERE
OBJECTPROPERTY(object_id,'TableHasPrimaryKey') = 0
2.Yöntem
En kolay yöntem sys.object adlı viewin kontrol edilmesidir. En kolay yöntem budur.
use [AdventureWorks2016CTP3]
GO
SELECT
SCHEMA_NAME(schema_id) AS [Schema name]
, name AS [Table name]
FROM
sys.objects
WHERE
[type]='U' AND object_id
NOT IN (
SELECT parent_object_id FROM sys.objects
WHERE [type]='PK'
)
3.Yöntem
Bu yöntem ise sys.tables & sys.key_constraints adlı system viewlerini kullanmaktadır.
use [AdventureWorks2016CTP3]
GO
SELECT
SCHEMA_NAME(schema_id) AS [Schema name]
, name AS [Table name]
FROM sys.tables
WHERE object_id NOT IN
(
SELECT parent_object_id
FROM sys.key_constraints
WHERE type = 'PK'
);
Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek
SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...
-
Bugün sizlere SQL Server 2012 ile gelen bir fonksiyon olan Concat fonksiyonundan bahsetmek istiyorum. Concat fonksiyonu 2 veya daha fazla ...
-
SET NO COUNT : set nocount on olarak ayarlandığında, sayım d öndürülmez. set nocount off olduğunda, sayısı döner. Yapılması gereken sorg...