Создать представление с помощью первичного ключа?
Я создаю представление со следующими кодами
SELECT
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1' AS sno,
YEAR(okuma_tarihi) AS Yillar,
SUM(toplam_kullanim_T1) AS TotalUsageValue, 'T1' AS UsageType
FROM
TblSayacOkumalari
GROUP BY
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1', YEAR(okuma_tarihi)
UNION ALL
SELECT
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T2' AS sno,
YEAR(okuma_tarihi) AS Yillar,
SUM(toplam_kullanim_T2) AS TotalUsageValue, 'T2' AS UsageType
FROM
TblSayacOkumalari
GROUP BY
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1', YEAR(okuma_tarihi)
UNION ALL
SELECT
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T3' AS sno,
YEAR(okuma_tarihi) AS Yillar,
SUM(toplam_kullanim_T3) AS TotalUsageValue, 'T3' AS UsageType
FROM
TblSayacOkumalari
GROUP BY
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1', YEAR(okuma_tarihi)
Я хочу определить CONVERT(nvarchar, YEAR(okuma_tarihi)) + 'T1' AS sno
в качестве первичного ключа, что возможно? Если это возможно, как я могу это сделать?
Ответы
Ответ 1
Вы не можете создать первичный ключ в представлении. В SQL Server вы можете создать индекс в представлении, но это отличается от создания первичного ключа.
Если вы дадите нам больше информации о том, почему вам нужен ключ на вашем представлении, возможно, мы сможем помочь с этим.
Ответ 2
Возможно, вам не удастся создать первичный ключ (для каждого), но если ваше представление основано на таблице с первичным ключом, а ключ включен в представление, тогда первичный ключ будет отображаться и в представлении, Приложения, требующие первичного ключа, могут принимать представление, как это имеет место с Lightswitch.