SORU
18 HAZİRAN 2009, PERŞEMBE


Varlık Çerçevesi ve SQL Server Görünümü

Hakkında konuşmak için özgürlük yok. yani çeşitli nedenlerle, şu şekilde: Sql Server 2005 veritabanı üzerinde bir görünüm tanımlıyoruz

CREATE VIEW [dbo].[MeterProvingStatisticsPoint]
AS
SELECT
    CAST(0 AS BIGINT) AS 'RowNumber',
    CAST(0 AS BIGINT) AS 'ProverTicketId',
    CAST(0 AS INT) AS 'ReportNumber',
    GETDATE() AS 'CompletedDateTime',
    CAST(1.1 AS float) AS 'MeterFactor',
    CAST(1.1 AS float) AS 'Density',
    CAST(1.1 AS float) AS 'FlowRate',
    CAST(1.1 AS float) AS 'Average',
    CAST(1.1 AS float) AS 'StandardDeviation',
    CAST(1.1 AS float) AS 'MeanPlus2XStandardDeviation',
    CAST(1.1 AS float) AS 'MeanMinus2XStandardDeviation'
WHERE 0 = 1

Fikir Varlık Çerçevesinde bir varlık yapar bu sorgu oluşturmak, ancak aşağıdakileri bildiren bir hata ile oluşturur:

Uyarı 6002: tablo/görünüm 'Keystone_Local.okunur aktiviteler.'Birincil anahtar tanımlı değil. MeterProvingStatisticsPoint Anahtar olayla olmuştur ve tanımı salt okunur bir tablo/görünüm olarak oluşturulmuştur.

Ve CompletedDateTime alan bu varlık birincil anahtar olacağına karar verir.

EdmGen model oluşturmak için kullanıyoruz. Bir şekilde varlık çerçevesinde birincil anahtar olarak bu görüş, herhangi bir alana dahil olması için değil mi?

CEVAP
26 NİSAN 2010, PAZARTESİ


Aynı sorun vardı ve bu çözümü

Varlık çerçevesi birincil anahtar sütunu kullanmaya zorlamak için ISNULL kullanın.

Varlık çerçevesi birincil anahtar olarak bir sütun kullanmak için değil zorlamak için, NULLIF kullanın.

Bu uygulamak için kolay bir yol başka bir seçin görünümü, bir select deyimi sarmak için.

Örnek:

SELECT
  ISNULL(MyPrimaryID,-999) MyPrimaryID,
  NULLIF(AnotherProperty,'') AnotherProperty
  FROM ( ... ) AS temp

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • max2sims2

    max2sims2

    19 Kasım 2008
  • PlayStation

    PlayStation

    16 Aralık 2005
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008