【Sql Server】新手一分钟看懂在已有表基础上增加字段和说明
欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!
目录
- 前言
- 创建表
- 效果
- 代码
- 新增字段
- 格式
- 效果
- 代码
- 注意事项
- 设置说明
- 格式
- 效果
- 代码
- 注意事项
- 存储过程
- 文章推荐
前言
在实际项目开发中,在整个开发过程中,随着对业务不断优化和深入,当时设计的表结构,
可能已经无法满足当前需求,需要增加或者移除一些字段,本篇文章将展示如何在已有表基础上增加表字段和备注说明
创建表
效果
代码
假设我们增加如下表结构
-- 创建表
create table my_table_name
(id int identity(1,1) primary key,name_text varchar(50),create_time datetime
)
新增字段
格式
新增字段的格式:alter table 这里写自己的表名 add 字段名 数据类型
效果
代码
-- 增加字段
alter table my_table_name add value_text nvarchar(50)
注意事项
必须在已有表基础上才能增加,否则肯定是无法添加成功
设置说明
默认增加字段时,是无法同时给字段添加备注信息的,需要额外操作。
格式
使用sql server内置的存储过程sp_addextendedproperty,然后通过传参数调用,内部会进行修改。
只需要修改,@value、@level1type、@level2type,这三个地方
exec sp_addextendedproperty @name = N'MS_Description', @value = N'字段名',@level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'TABLE', @level1name = '这里是表名',@level2type = N'COLUMN', @level2name = '这里是表字段';
效果
代码
exec sp_addextendedproperty @name = N'MS_Description', @value = N'这里填字段说明',@level0type = N'SCHEMA', @level0name = 'dbo', @level1type = N'TABLE', @level1name = 'my_table_name',@level2type = N'COLUMN', @level2name = 'value_text';
注意事项
参数一定要传对,必须修改已存在的表以及字段,否则会报错
存储过程
sp_addextendedproperty,这个是内置的系统存储过程
- 基本概念
sp_addextendedproperty 存储过程的作用是向 SQL Server 数据库中的对象(如表、列、约束等)添加扩展属性。
扩展属性是用于存储关于数据库对象的元数据或说明的键值对。
使用 sp_addextendedproperty 存储过程可以在指定的对象上添加扩展属性,并为该属性提供名称和值。
通过增加扩展属性,你可以为数据库对象提供说明、备注、版本或任何其他类型的元数据信息。
这些扩展属性可以帮助你在开发、维护和管理数据库时更好地理解和记录对象的特性、用途和变化。
它们可以在查询和文档生成过程中使用,也可以在数据库设计和数据字典维护中使用。
另外,通过使用 sp_addextendedproperty 存储过程,你还可以在其他应用和工具中检索和利用这些扩展属性,从而提供了更多关于数据库对象的可访问信息。
- 代码
下面是存储过程的代码,感兴趣的可以分析研究下
USE [TempDatabase]
GO
/****** Object: StoredProcedure [sys].[sp_addextendedproperty] Script Date: 2024/01/26 15:31:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [sys].[sp_addextendedproperty]@name sysname,@value sql_variant = NULL,@level0type varchar(128) = NULL,@level0name sysname = NULL,@level1type varchar(128) = NULL,@level1name sysname = NULL,@level2type varchar(128) = NULL,@level2name sysname = NULL
asdeclare @ret intif datalength(@value) > 7500beginraiserror(15097,-1,-1)return 1endif @name is nullbeginraiserror(15600,-1,-1,'sp_addextendedproperty')return (1)endexecute @ret = sys.sp_validname @nameif (@ret <> 0)beginraiserror(15600,-1,-1,'sp_addextendedproperty')return (1)endBEGIN TRANSACTIONBEGIN TRYEXEC %%ExtendedPropertySet().AddValue(Name = @name, Value = @value, Level0type = @level0type, Level0name = @level0name, Level1type = @level1type, Level1name = @level1name, Level2type = @level2type, Level2name = @level2name) END TRYBEGIN CATCHif (xact_state() <> 0) ROLLBACK TRANSACTION;THROWEND CATCHCOMMIT TRANSACTIONreturn (0)
文章推荐
同类型文章,推荐大家阅读博主在csdn平台上写的其他关于sql server的文章
-
【数据库】Sql Server数据迁移,处理自增字段赋值
-
【数据类型】C#和Sql Server、Mysql、Oracle等常见数据库的数据类型对应关系
总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。
相关文章:

【Sql Server】新手一分钟看懂在已有表基础上增加字段和说明
欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…...

亚信安慧AntDB打造开放创新的数据库生态
在当今信息化快速发展的时代背景下,亚信安慧AntDB作为一种新兴的DBMS,以其核心优势引起了行业内的广泛关注。它基于具有广泛全球影响力和繁荣社区支持的PostgreSQL(PG)内核,继承了PG的开放性与生态活力,同时在性能和稳定性方面进行…...

在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错怎么解决
在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错 一、在Mixamo下载的模型可以正常使用二、在自己的模型和unity自带模型上就出错1.解决方法2.解决成功 注意 一、在Mixamo下载的模型可以正常使用 二、在自己的模型和unity自带模型上就出错 1.解决方法 选…...

java servlet运输公司管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java Web运输公司管理系统是一套完善的java web信息管理系统 serlvetdaobean mvc 模式开发 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主 要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5…...

React中antd的使用技巧
1.antd的基本使用: (1).yarn add antd(2).引入样式:import antd/dist/antd.css;(3).根据文档引入组件2.antd按需引入样式 (1).yarn add react-app-rewired customize-cra babel-plugin-import(2).修改package.json,内容如下:.....…...

2024年第一篇博客
这是2024年的第一篇博客,2023年笔者经历了一连串的生活、工作、学习上的转折和调整,跌跌撞撞时光飞逝,转眼间就踏着元旦的钟声步入了2024年,前思后想、辗转反侧、犹豫再三不知道从哪里开始博客新的篇章,这个问题坦诚说…...

Nginx负载均衡下的webshell连接
一、上传AntSword-Labs-master搭建负载均衡实验环境 搭建好docker环境,并且配置好docker-compose 我的Redhat的docker版本: 查看当前环境下的文件是否正确: 接着执行docker compose up -d 拉取环境 访问成功页面: 进入docker容器…...

JAVA编程语言单词汇总
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Ora…...

微信小程序(十七)自定义组件生命周期(根据状态栏自适配)
注释很详细,直接上代码 上一篇 新增内容: 1.获取手机状态栏的高度 2.验证attached可以修改数据 3.动态绑定样式数值 源码: myNav.js Component({lifetimes:{//相当于vue的created,因为无法更新数据被打入冷宫created(){},//相当于vue的mount…...

百度搜索智能精选是什么东西、怎么加入?
百度搜索智能精选是什么? 提问及具体展示如上图,这是白杨SEO一个好友提问的。他是觉得这个入口篇幅这么大,做宣传推广不错,问我是什么,怎么可以加入进去? 其实这就是百度搜索智能精选,只能是P…...

小程序开发平台:全功能小程序商城功能 带完整的安装代码包以及搭建教程
移动互联网的普及和用户对购物体验要求的提高,传统电商网站已经不能满足用户的需求。因此,许多商家开始将目光转向小程序商城,以提供更加便捷、高效的购物体验。然而,由于小程序开发门槛较高,许多商家和开发者对于小程…...

Vue3生命周期 VS Vue2生命周期(小记)
概念:Vue组件实例在创建时要经历一系列的初始化步骤,在此过程中Vue会在合适的时机,调用特定的函数,从而让开发者有机会在特定阶段运行自己的代码,这些特定的函数统称为:生命周期钩子。 规律: 生…...

MYSQL基本查询(CURD:创建、读取、更新、删除)
文章目录 前言一、Create1.全列插入2.指定列插入3.插入否则更新4.替换 二、Retrieve1.SELECT列2.WHERE条件3.结果排序4.筛选分页结果 三、Update四、Delete1.删除数据2.截断表 五、插入查询结果六、聚合函数 前言 操作关系型数据库的编程语言,定义了一套操作关系型…...

头歌C语言指针进阶
目录 第1关:输出若干个学生成绩中的最高分.要求用指针函数实现 任务描述 第2关:采用指针变量表示地址的方法输入输出数组中的个元素 任务描述 相关知识(略) 编程要求 第3关:用指针实现数组循环移动 任务描述 第…...

民安智库-公共健身场所满意度调研
公共健身场所作为市民锻炼身心的热门场所,其满意度情况对于提升市民生活质量具有重要意义。民安智库近期受客户委托对某市进行了一项全面的公共健身场所满意度调查,旨在了解市民的需求与期望,为改善健身环境提供依据。 在本次调研中…...

《HTML 简易速速上手小册》第3章:HTML 的列表与表格(2024 最新版)
文章目录 3.1 创建无序和有序列表(📝🌟👍 信息的时尚搭配师)3.1.1 基础示例:创建一个简单的购物清单3.1.2 案例扩展一:创建一个旅行计划清单3.1.3 案例扩展二:创建一个混合列表 3.2 …...

IBeginDragHandler,IEndDragHandler,IDragHandler拖拽接口
IBeginDragHandler, IEndDragHandler, 和 IDragHandler 是Unity的接口,用于处理拖拽相关的功能。需要引用 UnityEngine.EventSystems。 IBeginDragHandler 这个接口定义了一个方法,该方法在玩家开始拖拽一个对象时被调用。它通常用于初始化拖拽相关的变量…...

面试经典 150 题 ---- 删除排序数组中的重复项
面试经典 150 题 ---- 删除排序数组中的重复项 删除排序数组中的重复项方法一:双指针 删除排序数组中的重复项 方法一:双指针 有是一个原地修改的题目,大概率依旧是双指针。 定义 right 表示遍历数组到达的下标位置,left 指针表…...

深度学习(6)---Transformer
文章目录 一、介绍二、架构2.1 Multi-head Attention2.2 Encoder(编码器)2.3 Decoder(解码器) 三、Encoder和Decoder之间的传递四、Training五、其他介绍5.1 Copy Mechanism5.2 Beam Search 一、介绍 1. Transformer是一个Seq2Seq(Sequence-to-Sequence)…...

day34WEB 攻防-通用漏洞文件上传黑白盒审计逻辑中间件外部引用
目录 一,白盒审计-Finecms-代码常规-处理逻辑 黑盒思路:寻找上传点抓包修改突破获取状态码及地址 审计流程:功能点-代码文件-代码块-抓包调试-验证测试 二,白盒审计-CuppaCms-中间件-.htaccess 三,白盒审计-Metin…...

面试经典 150 题 ---- 移除元素
面试经典 150 题 ---- 移除元素 移除元素方法一:双指针方法二:双指针优化 移除元素 方法一:双指针 题目要求在原数组的基础进行元素的删除,所以输出的数组长度一定小于原数组的长度,因此可以使用双指针,r…...

12.如何将图像转化为矩阵形式
read_image (Image, printer_chip/printer_chip_01) *获取图片大小 get_image_size (Image, Width, Height) *获取区域里各点(每个点)的坐标 *Image 输入参数, *Rows 输出参数 数组, *Columns 输出参数,数组 get_region_points (Image, Rows…...

语义分割(2) :自定义Dataset和Dataloader
文章目录 1. 数据处理1.1 标签转换(json2mask和json2yolo)1.1.1 json2mask1.1.2 json2yolo 1.2 划分数据集1.2 不规范的标签图片处理1.3 批量修改图片后缀 2 自定义Dataset 和 Dataloader2.1 自定义Dataset2.1.1 数据增强(1) 对图像进行缩放并且进行长和宽的扭曲(2) 随机翻转图…...

Android Automotive:在路上释放 Android 操作系统的力量
Android Automotive:在路上释放 Android 操作系统的力量 Android 在汽车行业的历程车载信息娱乐系统 (IVI) 的演变汽车中的 Android:演变和进步Android 汽车操作系统的崛起Polestar 2:开创 Android 汽车体验Android 开源项目 (AOSP) 及其他项…...

从零开始做题:逆向 ret2shellcode orw
1.题目信息 BUUCTF在线评测 下载orw时防病毒要关闭 2.题目分析 orw是open、read、write的简写。有时候binary会通过prctl、seccomp进行沙箱保护,并不能getshell。只能通过orw的方式拿到flag。 fdopen(‘./flag’); # 打开flag文件,得到fd…...

【DDD】学习笔记-限界上下文的控制力
引入限界上下文的目的,不在于如何划分,而在于如何控制边界。因此,我们就需要将对限界上下文的关注转移到对控制边界的理解。显然,对应于统一语言,限界上下文是语言的边界,对于领域模型,限界上下…...

springboot(ssm医院疫情防控系统 疫苗核酸预约系统Java系统
springboot(ssm医院疫情防控系统 疫苗核酸预约系统Java系统 开发语言:Java 框架:springboot(可改ssm) vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7&a…...

go语言中的Mutex
Golang以其并发性Goroutines而闻名。不仅是并发,还有更多。 因此,在这种情况下,我们必须确保多个goroutines不应该同时试图修改资源,从而导致冲突。 为了确保资源一次只能被一个goroutine访问,我们可以使用一个叫做syn…...

Vue的状态管理Vuex
文章目录 一、介绍二、install三、store1、介绍2、创建并全局引入3、单一状态树4、多模块状态树(无命名空间)5、多模块状态树(有命名空间) 本人最近在找工作,有推荐的小伙伴私我,不胜感激。 一、介绍 Vue…...

单片机14-17
目录 LCD1602 LCD1602液晶显示屏 直流电机驱动(PWM) LED呼吸灯 直流电机调速 AD/DA(SPI通信) AD模数转换 DA数模转换 红外遥控(外部中断) 红外遥控 红外遥控电机调速 LCD1602 LCD1602液晶显示屏 …...