SQL Server 判断及增加列的默认值约束

复制代码
IF NOT EXISTS ( SELECT name FROM sysobjects WHERE id = ( SELECT syscolumns.cdefault FROM sysobjects 
    INNER JOIN syscolumns ON sysobjects.Id=syscolumns.Id 
    WHERE sysobjects.name=N'tableName' AND syscolumns.name=N'columnName' ) 
)
BEGIN    
    ALTER TABLE tableName add constraint DF_columnName DEFAULT N'N' for columnName;  
    PRINT N'New add DF_columnName';
END
ELSE
BEGIN
    PRINT N'DEFAULT FOR columnName HAD EXISTS';
END
复制代码
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sql添加表字段描述添加默认值删除字段 //删除表 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[JHCRM_Report_ss]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [JHCRM_Report_ss] //添加表 if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Table1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) create table [Table1] ([col1] int,[col2] int) //添加字段 if not exists( select * from syscolumns where syscolumns.[name]='FNewObjectEnd' and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[jsc_financial]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE jsc_financial ADD FNewObjectEnd int--NULL --添加先用项目结项数 go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'先用项目结项数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'jsc_financial', @level2type=N'COLUMN',@level2name=N'FNewObjectEnd' if not exists( select * from syscolumns where syscolumns.[name]='Record_Money' and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[JHCRM_Resource_Record_Main]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE JHCRM_Resource_Record_Main ADD Record_Money numeric(12, 2)--NULL --资源费用 go EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'资源费用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JHCRM_Resource_Record_Main', @level2type=N'COLUMN',@level2name=N'Record_Money' //删除字段 if not exists( select * from syscolumns where syscolumns.[name]=table_Name and syscolumns.[id]=(select id from dbo.sysobjects where id=object_id(N'[dbo].[tableName]')" and OBJECTPROPERTY(id, N'IsUserTable') = 1) ) ALTER TABLE table_Name DROP COLUMN tableName
SQL Server中,键、约束是数据库中的重要概念。 键是用于唯一标识表中每一行的组合。在SQL Server中,常见的键类型有主键和外键。主键是用于唯一标识表中每一行的组合,且不允许为空。外键是用于建立表之间关系的组合,它引用了另外一张表的主键。 是表中的一个字段,用于存储数据。每个都有一个数据类型,用于定义它可以存储的数据的类型。在SQL Server中,常见的数据类型包括整数、字符、日期等。 约束是用于限制表中数据的完整性和一致性的规则。在SQL Server中,常见的约束类型有非空约束、唯一约束、默认约束和检查约束。非空约束要求的值不能为空。唯一约束要求的值在表中是唯一的。默认约束指定了默认值。检查约束定义了的值必须满足的条件。 举个例子,下面是一个创建具有主键和非空约束的表的示例: CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, department_id INT, CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments (department_id) ); 在这个示例中,employees表有一个主键employee_id,它用于唯一标识每一行。first_name和last_name有非空约束,要求它们的值不能为空。email有唯一约束,要求它的值在表中是唯一的。department_id是一个外键,它引用了departments表的主键department_id。 总结起来,键、约束SQL Server中用于管理数据完整性和一致性的重要概念。它们可以帮助我们定义表之间的关系,限制数据的取值范围,并确保数据的一致性。 #### 引用[.reference_title] - *1* *3* [SQL Server约束](https://blog.csdn.net/weixin_50160957/article/details/125361428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SQLServer中的常见约束](https://blog.csdn.net/weixin_49772216/article/details/123797947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值