CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

灵活设置默认值

楼主txlicenhe(马可)2005-07-28 11:03:45 在 MS-SQL Server / 应用实例 提问

--好象没什么贴子来讨论这个,所以就随便写了一个,其实也挺简单的。  
  /*  
  在建表时一般会设置默认值,但如果默认值随着条件的变化有可能更改,比如录入员工资料时默认工资为500,下一年度涨工资后默认工资为600。  
  或者有很多表中的很多列有相同的默认值时,可以考虑用一个变量来设置,就要自定义数据类型一样。  
  SQL提供有这方面的功能,就是Create   Default。  
  参考联机帮助: Create   Default;     sp_bindefault;     sp_unbindefault  
  下面是测试:  
  */  
  /*创建一个测试用表*/  
  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   行)  
  */  
  问题点数:20、回复次数:4Top

1 楼phantomMan()回复于 2005-07-28 11:05:29 得分 5

顶,学习Top

2 楼bugchen888(臭虫)回复于 2005-07-28 13:39:28 得分 5

收藏Top

3 楼aw511(点点星灯)回复于 2005-07-28 13:42:57 得分 5

收藏  
  Top

4 楼gohst001(很多年来一直想知道昵称到底能多长~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)回复于 2005-07-28 14:28:40 得分 5

markTop

相关问题

  • 灵活设置规则(跟设置默认值差不多)
  • 如何设置form1的默认值?
  • PB7如何设置默认值?
  • 在线等待,默认值的设置
  • 如何设置text的默认值?
  • 如何在MaskEdit中设置默认值?
  • 要如何设置TextBox的默认值?
  • 请教:sqlserver默认值设置问题
  • 新手提问?如何设置表格中的默认值
  • 在VB中能为形参设置默认值吗?

关键词

  • 默认值
  • empid
  • salary
  • bindefault
  • employee
  • 绑定
  • 设置
  • df
  • insert
  • 工资

得分解答快速导航

  • 帖主:txlicenhe
  • phantomMan
  • bugchen888
  • aw511
  • gohst001

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo