zoukankan      html  css  js  c++  java
  • SQL SERVER “扩展属性"的应用


    SQL SERVER的数据库对象都有“扩展属性”这种特殊的“属性”(选中某个对象后,在其右键菜单中选择“属性”可以看到),用它可以完成很多功能。
    在此,介绍它的两种应用,以起到抛砖引玉的作用,和大家共同学习。

    下文中需要用到两个存储过程sp_Addextendedpropertysp_updateextendedproperty,以及一个表值函数fn_listextendedproperty。

    应用一:为表和列添加描述信息
    create table student
    (
     stuId char(4) primary key,
     stuName nvarchar(10)
    )
    go

    EXEC sp_Addextendedproperty
    @name='table_desciption', --扩展属性的名称
    @value='学生表', --扩展属性的值
    @level0type='SCHEMA',--为哪个模式下的哪个表
    @level0name='dbo',
    @level1type='TABLE',
    @level1name='student' 

    EXEC sp_Addextendedproperty
    @name='column_desciption', --扩展属性的名称
    @value='学号', --扩展属性的值
    @level0type='SCHEMA',--为哪个模式下的哪个表
    @level0name='dbo',
    @level1type='TABLE',
    @level1name='student',
    @level2type='COLUMN',
    @level2name='stuId'
    go

    EXEC sp_Addextendedproperty
    @name='column_desciption', --扩展属性的名称
    @value='学生姓名', --扩展属性的值
    @level0type='SCHEMA',--为哪个模式下的哪个表
    @level0name='dbo',
    @level1type='TABLE',
    @level1name='student',
    @level2type='COLUMN',
    @level2name='stuName'

    应用二:对于某些大数据量的操作,要求每隔一段时间执行一次,而每次只对上次执行以后的“新”数据进行操作,对于这种需求,我们可能通过为存储过程设置扩展属性的方式来实现。

    create proc p_test
    as
    begin
     --从扩展属性得到原执行时间
     declare @lastdate datetime
     select @lastdate=cast(value as datetime) from ::fn_listextendedproperty('last_exec_date', 'SCHEMA', 'dbo', 'PROCEDURE','p_test', NULL, NULL)
        --执行SP固有的功能,在代码中应该会用到@lastdate
     -- ...
     --执行完成后,用当前时间为扩展属性赋值
     declare @newdate datetime
     set @newdate=getdate()
     EXEC sp_updateextendedproperty 'last_exec_date', @newdate,'SCHEMA','dbo','PROCEDURE','p_test'
    end
    GO

    --为存储过程添加扩展属性并赋值
    declare @newdate datetime
    set @newdate=getdate()
    EXEC sp_addextendedproperty 'last_exec_date', @newdate,'SCHEMA','dbo','PROCEDURE','p_test'
    GO

  • 相关阅读:
    lambda表达式查询经验:IN 和groupby的使用
    Sql server 查询指定时间区间工作日数、休息日数等日期操作
    ASP.NET MVC用存储过程批量添加修改数据
    .NET十五周年生日快乐 (3月7日发布Visual Studio 2017正式版?)
    浅谈 MVC中的ViewData、ViewBag和TempData
    ASP.NET给前端动态添加修改 CSS样式JS 标题 关键字
    元宵节大家来猜灯谜,祝元宵节快乐!
    Visual Studio 2017 RC 初探安装
    MySql存储过程的使用
    准备熟悉Kaggle -菜鸟进阶
  • 原文地址:https://www.cnblogs.com/lgzslf/p/2398056.html
Copyright © 2011-2022 走看看