灵活设置默认值

/*
在建表时一般会设置默认值,但如果默认值随着条件的变化有可能更改,比如录入员工资料时默认工资为500,下一年度涨工资后默认工资为600。
或者有很多表中的很多列有相同的默认值时,可以考虑用一个变量来设置,就要自定义数据类型一样。
SQL提供有这方面的功能,就是Create Default。
参考联机帮助: Create Default;  sp_bindefault;  sp_unbindefault
下面是测试( 测试环境SQL2000)

*/


/*创建一个测试用表*/
Create Table Employee (
 EmpID char(3),
 Salary numeric(10,2)
)

--未绑定默认值时insert两条记录看看
insert into Employee (EmpID) values('001') 
insert into Employee (EmpID) values('001') 
go

/*创建一个默认值,值为500*/
Create Default DF_salary AS 500
GO

/*将默认值绑定到该表的Salary列*/
Exec sp_bindefault DF_salary, 'Employee.Salary'
go

--绑定默认值后再insert两条记录看看
insert into Employee (EmpID) values('101')
insert into Employee (EmpID) values('102')

--取消绑定
EXEC sp_unbindefault 'Employee.Salary'
go
--删除默认值
Drop Default DF_salary
go
--新建一个同样的默认值,值改为另一个数
Create Default DF_salary AS 600
GO
--再次绑定
Exec sp_bindefault DF_salary, 'Employee.Salary'
go
--用新默认值后再insert两条记录看看
insert into Employee (EmpID) values('201')
insert into Employee (EmpID) values('202')
--查询结果
select * from Employee


/* 以下是结果
EmpID Salary      
----- ------------
001   NULL
001   NULL
101   500.00
102   500.00
201   600.00
202   600.00

(所影响的行数为 6 行)
*/

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

txlicenhe

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值