zoukankan      html  css  js  c++  java
  • 转载sql server 关于 default value的一些使用总结

    转载原出处: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.   
    4. select @csname=[name]  
    5. from sysobjects   
    6. where id=(select cdefault from syscolumns where id=object_id('Test') and name='age')  
    7.   
    8. exec('alter table [dbo].[Test] drop constraint ' + @csname )  
    9.   
    10. 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上就会报错,无法设置成功!
  • 相关阅读:
    node版本切换工具n的使用介绍
    nrm -- npm镜像源管理
    npm vs npx
    Dnsmasq MacOS使用介绍
    Java动态生成类以及动态添加属性
    mysql表名忽略大小写问题记录
    psotgresql之大小写
    java 按字节读写二进制文件(Base64编码解码)
    java解析复杂json:JSONObject 和 JSONArray的使用
    URL编码:怎样读取特殊字符
  • 原文地址:https://www.cnblogs.com/wphl-27/p/3557342.html
Copyright © 2011-2022 走看看