2013-09-03 22 views
5

Ich versuche Ansicht zu erstellen Verknüpfung 2 Tabellen admins und NachrichtenSchaffung Blick in Sqlserver

create view v_news as 
SELECT [n_id] 
    ,[n_title] 
    ,[n_detail] 
    ,[n_date] 
    ,[n_sdate] 
    ,[n_edate] 
    ,[n_admin] 
    ,[a_name] 
    ,[a_email] 
    ,[a_role] 
    ,[a_status] 
FROM hed2.dbo.hed_news,hed2.dbo.hed_admins 
where hed_admins.a_id=hed_news.n_admin 

Diese Meldung angezeigt wird:

Command(s) completed successfully. 

aber es gibt keinen Blick in ANSICHTEN Ordner.

Wenn ich versuche, wieder die gleiche Abfrage auszuführen dann heißt es:

There is already an object named 'v_news' in the database. 

ich mit Windows-Authentifizierung verbunden bin
ich Reconnect versucht und starten Sie SQL Server, aber ....

+0

Sie müssen View-Berechtigung plus (möglicherweise) ALTER SCHEMA-Berechtigung für das Schema erstellen, in dem die Ansicht erstellt wird. –

Antwort

2

Drei Dinge :

  1. Sie müssen JOINS verwenden und die Art, wie Ihre Abfrage geschrieben wird, ist schlecht. Nur eine Beobachtung. Nichts mit deiner Frage zu tun.
  2. Haben Sie versucht, SELECT * FROM v_news zu laufen? Das würde Ergebnisse liefern.
  3. Klicken Sie mit der rechten Maustaste und Ansichten in SSMS und wählen Sie Aktualisieren. Es wird

Raj

+0

ja SELECT * FROM v_news zeigen Ergebnisse aber nicht wissen, wo der Blick gespeichert ist, wie kann ich finden und bewegen Ansichten Ordner I Ansicht Ordner aktualisiert, aber es ist nicht hier –

3

Ihre Ansicht 92-Syntax ANSI in der Liste angezeigt wird, verwenden. Während dies für ältere Datenbankversionen funktioniert, wird es in SQL Server 2012 nicht funktionieren. Siehe Mike Walsh's blog zu diesem Thema.

1 - Bei Verwendung von SSMS werden Ansichten nicht sofort angezeigt. Klicken Sie mit der rechten Maustaste und klicken Sie auf Aktualisieren.

2 - Es ist sehr wichtig, dass Sie sich in der richtigen Datenbank befinden. Ich bin mir sicher, dass viele Menschen, einschließlich mir, ein oder zwei Objekte im Meister erschaffen haben. Dies ist die Standardeinstellung für eine neue Anmeldung.

Dies kann geändert werden, indem die Standarddatenbank für Ihre Anmeldung geändert wird.

3 - Führen Sie den Befehl USE aus, um den Datenbankkontext zu ändern (Standard).

Das folgende Snippet ist eine SQL Server 2012-kompatible Version.