SQL Server: Add column with default value and description in T-SQL

假设我要在表 dbo.tblBinaryCommand 中添加一个新字段 ProtocolId,并且在添加字段的时候指定数据类型为 bigint,不允许为空,默认值为 -1,我还想给这个字段加一段Description,如下:

Message protocol id refer to Protocol definition table tblProtocol column ProtocolId.

Notes:
(1) avaliable value should be greater then 0.
(2) -1 means NULL.

就是下面这个截图:


这个操作,用 T-SQL 来实现,是这样的:


-- Add column ProtocolId in table tblBinaryCommand
if not exists 
(
	select column_name from INFORMATION_SCHEMA.columns where table_name = 'tblBinaryCommand' and column_name = 'ProtocolId'
)
Begin
	ALTER TABLE dbo.tblBinaryCommand 
	ADD ProtocolId bigint NOT NULL 
	CONSTRAINT DF_tblBinaryCommand_ProtocolId DEFAULT -1;

	EXEC sys.sp_addextendedproperty 
		@name = N'MS_Description',
		@value = 
		
N'Message protocol id refer to Protocol definition table tblProtocol column ProtocolId.

Notes:
(1) avaliable value should be greater then 0.
(2) -1 means NULL.',
		@level0type = N'SCHEMA',
		@level0name = N'dbo',
		@level1type = N'TABLE',
		@level1name = N'tblBinaryCommand',
		@level2type = N'COLUMN',
		@level2name = N'ProtocolId';
End;


Notes:

(1) 这段SQL脚本可以重复执行多次,如果段 ProtocolId 已经存在则不作任何操作。这个在 if not exists (...) 这个判断里面。

(2) 字段的默认值是通过添加一个约束 CONSTRAINT DF_tblBinaryCommand_ProtocolId DEFAULT -1 来实现的。

(3) 给字段添加描述信息(Description)是通过调用存储过程 sys.sp_addextendedproperty 来实现的。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值