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上就会报错,无法设置成功!
  • 相关阅读:
    深入理解系统调用
    基于mykernel 2.0编写一个操作系统内核
    交互式多媒体图书平台的设计与实现
    Ubuntu下VSCode调试环境搭建指南-C语言篇
    码农的自我修养之必备技能 学习笔记
    工程化编程实战callback接口学习笔记
    CentOS7.4网络配置
    R-CNN
    CUDA整理
    CUDA by Example 第四章 julia集
  • 原文地址:https://www.cnblogs.com/wphl-27/p/3557342.html
Copyright © 2011-2022 走看看