--check约束
create table [user]( userName nvarchar(50) check(len(username) between 5 and 15), pwd nvarchar(10) check(len(pwd between 6 and 8)))

解决方案 »

  1.   

    个人认为,用check约束比用触发器好!
      

  2.   

    --同意楼上的,用check约束,没必要用trigger
      

  3.   

    感觉还是用check方便些,
    create table [user]( userName nvarchar(50) check(len(username) between 5 and 15), pwd nvarchar(10) check(len(pwd between 6 and 8)))其实这种情况基本上都是在客户端前台来限制的比后台判断更好一些
      

  4.   

    create table [user]

    userName nvarchar(50) check(len(userName) between 5 and 15),
    pwd nvarchar(10) check(len(pwd) between 6 and 8)
    )-- orcreate table [user]

    userName nvarchar(50),
    pwd nvarchar(10) check(len(pwd) between 6 and 8),
    constraint ch_user check((len(userName) between 5 and 15) and (len(pwd) between 6 and 8))
    )
      

  5.   

    --笔误更正
    create table [user]( userName nvarchar(50) check(len(username) between 5 and 15), pwd nvarchar(10) check(len(pwd) between 6 and 8))
      

  6.   

    --测试环境
    create table [user]( userName nvarchar(50) check(len(username) between 5 and 15), pwd nvarchar(10) check(len(pwd) between 6 and 8))
    --测试数据
    insert [user] values('shuiniu','abc') --失败,密码长度不够
    insert [user] values('shui','abcdefg') --失败,用户名长度长度不够
    insert [user] values('shuiniu','shuiniu') --成功select * from [user]/*
    userName                                           pwd        
    -------------------------------------------------- ---------- 
    shuiniu                                            shuiniu(所影响的行数为 1 行)
    */