转载原出处:http://blog.csdn.net/miqi770/article/details/6728733

1.在创建表的时候,给字段添加的默认值约束

  1. CREATE TABLE "dbo"."Test"
  2. (
  3. id int PRIMARY KEY,
  4. sex varchar(10) DEFAULT ('boy'),
  5. name varchar(40),
  6. age int DEFAULT ((1)),
  7. )
CREATE TABLE "dbo"."Test"
(
id int PRIMARY KEY,
sex varchar(10) DEFAULT ('boy'),
name varchar(40),
age int DEFAULT ((1)),
)

注意:

  • 此时默认值约束,没有约束名称。DMBS会自动的给添加一个“默认值约束名称”
  • 注意varchar类型和int类型在DEFAULT 中的写法:分别用‘’和()把value值包起来

2.在创建表之后,给字段添加的默认值约束

  1. alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode
alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode

注意:

  • 此时,必须编写一个约束名称,防止重名。

3.修改字段原有的默认值约束

  1. declare @csname varchar(100)
  2. set @csname= ''
  3. select @csname=[name]
  4. from sysobjects
  5. where id=(select cdefault from syscolumns where id=object_id('Test') and name='age')
  6. exec('alter table [dbo].[Test] drop constraint ' + @csname )
  7. exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')
declare @csname varchar(100)
set @csname= '' select @csname=[name]
from sysobjects
where id=(select cdefault from syscolumns where id=object_id('Test') and name='age') exec('alter table [dbo].[Test] drop constraint ' + @csname ) exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')

注意:

  • 默认值约束,不能修改。必须先drop之后再add
  • drop的时候,必须知道当前“默认值约束的名称”。通过上面的sql可以查出Test表的age字段所绑定的“默认值约束名称”,才可以drop
  • 测试的时候发现sqlserver2005的一个bug:默认值的长度大于字段设定的长度时候,同样不报错,可以设置成功!!!在oracle上就会报错,无法设置成功!

转载sql server 关于 default value的一些使用总结的更多相关文章

  1. 转载 SQL Server 2008 R2 事务与隔离级别实例讲解

    原文:http://blog.itpub.net/13651903/viewspace-1082730/ 一.事务简介 SQL Server的6个隔离级别中有5个是用于隔离事务的,它们因而被称作事务隔 ...

  2. 转载 SQL Server中索引管理之六大铁律

    转载原地址 http://jingyan.baidu.com/article/48a42057c03bd7a924250429.html 索引是以表列为基础的数据库对象.索引中保存着表中排序的索引列, ...

  3. 转载--SQL Server 2005的XQuery介绍

    原文地址: http://bbs.51cto.com/thread-458009-1-1.html   引用: 摘要 本文介绍了SQL Server 2005能够支持的XQuery的各方面特性如FLW ...

  4. 转载——SQL Server数据库性能优化之SQL语句篇

    转载自:http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 1. 按需索取字段,跟“SELECT *”说拜拜 字段的提取一 ...

  5. 转载 :sql server分区 http://blog.itpub.net/27099995/viewspace-1081158/

    转载:http://blog.itpub.net/27099995/viewspace-1081158/ 在  sql server 2005 之前不提供分区表,但可以用其他方式建立“分区表”,sql ...

  6. [转载]SQL Server 数据库定时自动备份

    推荐使用SQLserver自带的SSMS工具创建维护计划来实现数据库定时自动备份 “维护计划”是在SSMS的对象资源管理中“管理”节点下面.使用维护计划可以通过可视化的操作,只点点鼠标就可以创建数据库 ...

  7. [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法

    安装过程中,SQL Server 数据库引擎设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式.本文介绍如何在安装后更改安全模式. 如果在安装过程中选择&q ...

  8. [转载]SQL Server如何保证可空字段中非空值唯一

    原文地址:http://www.cnblogs.com/caspnet/archive/2011/02/23/1962638.html 解决问题是:在一个表里面,有一个允许为空的字段,空是可以重复的, ...

  9. (转载)SQL Server 2005 如何启用xp_cmdshell组件

    原文地址:http://www.cnblogs.com/atree/p/SQL_SERVER_xp_cmdshell.html [错误描述]: SQL Server阻止了对组件‘xp_cmdshell ...

随机推荐

  1. cocos2d-x 扩充引擎基类功能 引起的头文件重复包含问题的分析

    c++ 头文件包含 原因的分析:   c++  头文件的循环引用是指: .h 里面的里面的头文件的相互包含的,引起的重复引用的问题.cpp 里面包含头文件是不存在重复引用的问题(因为CPP没有#ifn ...

  2. Android:再按一次退出程序

    感觉这种效果比较友好 //两秒内按返回键两次退出程序 private long exitTime = 0; @Override public boolean onKeyDown(int keyCode ...

  3. Android TextView结合SpannableString使用

    super.onCreate(savedInstanceState); TextView txtInfo = new TextView(this); SpannableString ss = new ...

  4. 【算法】 输入n 输出一个n*n的zigzag矩阵 利用c++实现

    int main() { int N; cin>>N; int **a = new int *[N]; ) ;//如果没有申请到空间 ;i<N;i++) { a[i]= new in ...

  5. Tiny4412汇编流水灯代码,Tiny4412裸机LED操作[1]

    从今天开始就正式进入到tiny4412的开发学习中了,今天主要看了一下Tiny4412的启动流程及存储器映射及Exynos4412数据手册,用汇编写了一个跑马灯程序(后续会有C语言版本的出来),先说一 ...

  6. JavaBean 内省API BeanUtils工具 泛型 xml xml约束

    1 什么是JavaBean?有何特征? 1)符合特定规则的类    2)JavaBean分二类:     a)侠义的JavaBean         .私有的字段(Field)         .对私 ...

  7. COM, COM+ and .NET 的区别

    所有的优秀程序员都会尽自己的最大努力去使自己所写的程序具有更好的可重用性,因为它可以让你快速地写出更加健壮和可升级性的程序. 有两种使代码重用的选择: 1.白盒:最简单的一种,就是把你的程序片拷贝到另 ...

  8. Task-based Asynchronous Pattern (TAP)

    The Task-based Asynchronous Pattern (TAP) is based on the System.Threading.Tasks.Task and System.Thr ...

  9. Android开发之bug-No Activity found to handle Intent

    android.content.ActivityNotFoundException: No Activity found to handle Intent 做Android开发中,使用隐式intent ...

  10. ASP.NET 中OAUTH 2.0 及OPENID CONNECT的介绍

        了解以下内容对ASP.NET 5中的验证中间件应用有很大帮助! OAUTH2是目前很多大型网站都使用的对外提供开放资源接口的应用标准,比入taobao\alipay\腾讯\豆瓣等.它和目前的另 ...