2013-09-03 3 views
5

में बनाने दृश्य 2 टेबल व्यवस्थापक और समाचार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 

यह संदेश प्रदर्शित किया जाता है जोड़ने दृश्य बनाने के लिए कोशिश कर रहा।

जब मैं एक ही क्वेरी फिर से चलाने का प्रयास तो यह कहते हैं:

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

मैं .... विंडोज़ प्रमाणीकरण
मैं पुनः कनेक्ट करने की कोशिश की और SQL सर्वर लेकिन पुनः आरंभ के साथ जुड़ा हुआ हूँ

+0

आपको स्कीमा पर दृश्य अनुमति प्लस (संभवतः) अल्टर स्कीमा अनुमति बनाना है जहां दृश्य बनाया गया है। –

उत्तर

2

तीन बातें :

  1. आपको जॉइन का उपयोग करना चाहिए और जिस तरह से आपकी क्वेरी लिखी गई है वह खराब है। बस एक अवलोकन। आपके प्रश्न के साथ कुछ भी नहीं करना।
  2. क्या आपने SELECT * FROM v_news चलाने का प्रयास किया था? वह परिणाम वापस करेगा।
  3. एसएसएमएस में राइट क्लिक और विचार और रीफ्रेश का चयन करें। यह

राज

+0

हाँ चयन * v_news से परिणाम दिखाएं लेकिन यह नहीं पता कि दृश्य कहां संग्रहीत किया गया है मैं फ़ोल्डर को कैसे देख सकता हूं और स्थानांतरित कर सकता हूं मैंने फ़ोल्डर को रीफ्रेश किया है लेकिन यह यहां नहीं है –

3

आपके व्यू एएनएसआई 92 सिंटैक्स का उपयोग कर रहा है सूची में दिखाई देगा। हालांकि यह पुराने डेटाबेस संस्करणों के लिए काम करेगा, यह SQL Server 2012 में काम नहीं करेगा। इस विषय पर Mike Walsh's blog देखें।

1 - एसएसएमएस विचारों का उपयोग करते समय तुरंत दिखाई नहीं देते हैं। राइट क्लिक करें और रीफ्रेश हिट करें।

2 - यह सुनिश्चित करना बहुत महत्वपूर्ण है कि आप सही डेटाबेस में हैं। मुझे यकीन है कि मेरे समेत कई लोग, मास्टर में ऑब्जेक्ट या दो बना चुके हैं। यह एक नए लॉगिन के लिए डिफ़ॉल्ट है।

इसे आपके लॉगिन के लिए डिफ़ॉल्ट डेटाबेस बदलकर बदला जा सकता है।

3 - डेटाबेस संदर्भ (डिफ़ॉल्ट) को बदलने के लिए यूएसई कमांड निष्पादित करें।

नीचे स्निपेट एक SQL सर्वर 2012 अनुपालन संस्करण है।

USE [hed2] 
GO 

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 dbo.hed_news JOIN dbo.hed_admins ON hed_news.n_admin = hed_admins.a_id 
GO 
संबंधित मुद्दे