我尝试创建链接2个表管理员和新闻的视图
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
显示以下消息:
Command(s) completed successfully.
但是VIEWS文件夹中没有视图。
当我尝试再次运行相同的查询时,它会说:
There is already an object named 'v_news' in the database.
我与windows身份验证连接 我尝试重新连接并重新启动sql server但....
答案 0 :(得分:4)
您的视图使用的是ANSI 92语法。虽然这适用于较旧的数据库版本,但它在SQL Server 2012中不起作用。有关此主题,请参阅Mike Walsh's blog。
1 - 使用SSMS视图时不会立即显示。右键单击并点击刷新。
2 - 确保您在正确的数据库中非常重要。我相信包括我在内的很多人都在掌握了一两个对象。这是新登录的默认设置。
可以通过更改登录的默认数据库来更改。
3 - 执行USE命令以更改数据库上下文(默认)。
下面的代码段是SQL Server 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
答案 1 :(得分:1)
三件事:
SELECT * FROM v_news
?这将返回结果。拉吉