Oracle/MySQL/SQL Server创建/删除视图

创建视图

  • Oracle
    CREATE OR REPLACE VIEW V_USER
    AS
    SELECT 
        ID,
        NAME,
        AGE
    FROM T_USER;
    COMMENT ON TABLE V_USER IS '用户视图';
    COMMENT ON COLUMN V_USER.ID IS 'ID';
    COMMENT ON COLUMN V_USER.NAME IS '名称';
    COMMENT ON COLUMN V_USER.AGE IS '年龄';

  • MySQL
    CREATE OR REPLACE VIEW V_USER
    AS
    SELECT 
        ID,
        NAME,
        AGE
    FROM T_USER;
    // 不支持写备注

  • SQL Server
    CREATE VIEW V_USER
    AS
    SELECT 
        ID,
        NAME,
        AGE
    FROM T_USER
    GO
    
    if exists (select 1 from  sys.extended_properties
               where major_id = object_id('V_USER') and minor_id = 0)
    begin
       declare @CurrentUser sysname
    select @CurrentUser = user_name()
    execute sp_dropextendedproperty 'MS_Description', 
       'user', @CurrentUser, 'view', 'V_USER'
    
    end
    
    
    select @CurrentUser = user_name()
    execute sp_addextendedproperty 'MS_Description', 
       '用户视图',
       'user', @CurrentUser, 'view', 'V_USER'
    GO
    
    if exists(select 1 from sys.extended_properties p where
          p.major_id = object_id('V_USER')
      and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'ID')
    )
    begin
       declare @CurrentUser sysname
    select @CurrentUser = user_name()
    execute sp_dropextendedproperty 'MS_Description', 
       'user', @CurrentUser, 'view', 'V_USER', 'column', 'ID'
    
    end
    
    
    select @CurrentUser = user_name()
    execute sp_addextendedproperty 'MS_Description', 
       'ID',
       'user', @CurrentUser, 'view', 'V_USER', 'column', 'ID'
    GO
    
    if exists(select 1 from sys.extended_properties p where
          p.major_id = object_id('V_USER')
      and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'NAME')
    )
    begin
       declare @CurrentUser sysname
    select @CurrentUser = user_name()
    execute sp_dropextendedproperty 'MS_Description', 
       'user', @CurrentUser, 'view', 'V_USER', 'column', 'NAME'
    
    end
    
    
    select @CurrentUser = user_name()
    execute sp_addextendedproperty 'MS_Description', 
       '名称',
       'user', @CurrentUser, 'view', 'V_USER', 'column', 'NAME'
    GO
    
    if exists(select 1 from sys.extended_properties p where
          p.major_id = object_id('V_USER')
      and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'AGE')
    )
    begin
       declare @CurrentUser sysname
    select @CurrentUser = user_name()
    execute sp_dropextendedproperty 'MS_Description', 
       'user', @CurrentUser, 'view', 'V_USER', 'column', 'AGE'
    
    end
    
    
    select @CurrentUser = user_name()
    execute sp_addextendedproperty 'MS_Description', 
       '年龄',
       'user', @CurrentUser, 'view', 'V_USER', 'column', 'AGE'
    GO


删除视图

   

DROP VIEW V_USER; // Oracle/MySQL/SQL Server均支持

DROP VIEW IF EXISTS V_USER; // 仅MySQL支持


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值