当前位置:  数据库>sqlserver

sql server中default value默认值的用法小结

    来源: 互联网  发布时间:2014-08-29

    本文导语:  1,在创建表时,给字段添加默认值约束 例如:   代码示例: CREATE TABLE "dbo"."Test"  (     id int PRIMARY KEY,     sex varchar(10) DEFAULT ('boy'),     name varchar(40),     age int DEFAULT ((1)),  )  注意: 此时默认值约束,没有约束...

1,在创建表时,给字段添加默认值约束
例如:
 

代码示例:
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,在创建表之后,给字段添加的默认值约束
 

代码示例:
alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode 

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

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

代码示例:
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。

测试时发现sql server 2005的一个bug:
默认值的长度大于字段设定的长度时,同样不报错,可以设置成功!
在oracle上就会报错,无法设置成功。

在这里,你可以bs下微软了,哈哈!


    
 
 

您可能感兴趣的文章:

  • oracle SQL解析步骤小结
  • SQL Server SQL Agent服务使用教程小结
  • SQL对时间处理的语句小结
  • SQL 重复记录问题的处理方法小结
  • SQL Server复制功能要避开缺陷的干扰小结
  • 有关SQL Server SA权限问题的小结
  • PL/SQL编程经验小结开发者网络Oracle
  • SQL查询效率注意事项小结
  • Oracle9iPL/SQL编程的经验小结
  • 世界杯猜想活动的各类榜单的SQL语句小结
  • 六条比较有用的MySQL数据库操作的SQL语句小结
  • SQLServer 获得用户最新或前n条订单的几种SQL语句小结
  • SQL SERVER 的SQL语句优化方式小结
  • SQL Server常用管理命令小结
  • SQL Server 2005 数据库转 SQL Server 2000的方法小结
  • MySQL导入导出.sql文件及常用命令小结
  • SQL语法 分隔符理解小结
  • SQL Server游标的使用/关闭/释放/优化小结
  • SQL学习笔记三 select语句的各种形式小结
  • SQL CONVERT转化函数使用方法小结
  • mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法
  • C#调用SQL语句时乘号的用法
  • sql中all,any,some用法
  • SQL事务用法begin tran,commit tran和rollback tran的用法
  • sql游标的用法简单笔记
  • sql查询语句group by用法简介
  • SQL对时间处理的语句小结 iis7站长之家
  • 浅析SQL语句中GROUP BY的用法
  • sql多表级联更新update的用法举例
  • sql server中ISNULL函数与Mysql中IFNULL函数的用法
  • SQL中object_id函数的用法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql2005 默认端口的修改方法
  • 解决MSSQL2005远程连接sql2000非默认端口数据库的问题
  • 探讨:sql插入空,默认1900-01-01 00:00:00.000的解决方法详解
  • SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
  • 修改SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径的方法
  • SQL2000中的默认sa帐号的修改与删除方法
  • SQL2000中改名和删除默认sa帐号的最安全方法
  • 列出SQL Server中具有默认值的所有字段的语句
  • 修改sql server 2005的用户默认架构
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3