我在同一个SQL SERVR 2000服务器中,建立两个数据库,两个数据库的表和视图都一样,但是所存储的内容不一样,但是我发现,表可以建立,视图却一直说已经存在,难道在SQLSEVER中,所有数据库是共用视图的吗?如果我要实现这样的效果,SQL SERVER2000能实现吗?那个大虾帮帮俺啊,俺刚弄SQL没几天哦。

解决方案 »

  1.   

    用下面語句看看存不存在這個視圖,如果存在可以使用 修改語句 或者 先刪除后新建SELECT * FROM sys.views WHERE name=N'視圖名'--修改視圖
    ALTER VIEW 視圖名 AS 語句 GO--先刪除后新建
    DROP VIEW 視圖名 
    GO 
    CREATE VIEW 視圖名 
    AS 
    SELECT 2 AS ID 
    GO
      

  2.   

    你看你 建 视图时 指定的库是不是同一个了
    不同库 可以建 同名的表、视图、函数、存储过程。 他们之间是不互相影响的
    SELECT * FROM sys.objects WHERE object_id=OBJECT_ID('v_view')---查看视图(v_view)是否存在
      

  3.   

    --确定你创建视图的时候选择的是哪个数据库
    --查看是否存在你要创建的视图名
    select 1 from dbo.sysobjects where name like N'view_viewname' and type='V'
    --修改视图
    alter view view_name as select * from ... go
    --创建视图
    USE master --注意指定哪个库
    go 
    drop view view_name
    go
    create view view_name
    as
    select * from ...
    go
    create view view_name