CREATE TABLE oddb.仓库
(仓库号 char(6) PRIMARY KEY CHECK(仓库号 like '[A-Z][A-Z][0-9][0-9][0-9][0-9]' COLLATE Chinese_PRC_BIN),
城市 char(10) UNIQUE NOT NULL,
面积 numeric(20,0) CHECK(面积>=50)
)
职工这个表里的职工号
8个字符
是关键字
前6位参照仓库表的仓库号
后2位为数字字符
 初学SQL   像这一类问题哪有什么好的资料,教材上就弄个格式~~~~没有灵活运用的实例,很纠结~~~请高人指点~~~推荐几本书或这方面的一些资源

解决方案 »

  1.   

    看看内幕,多上CSDN练手,熟能生巧吗
      

  2.   

    多上CSDN,每天来这学一点,(但一定要认真研究),如高手的提问,高手的回答!一两年包你成为程序高手!
      

  3.   


    做个触发器吧,做约束要写自定义函数,估计不高效。create trigger tr_check_EmpNo on 职工表
    for insert,update
    as
    if not exists(
    select top 1 1 
    from inserted a 
    join 仓库 b on a.职工号 COLLATE Chinese_PRC_BIN like 仓库号+'[0-9][0-9]' COLLATE Chinese_PRC_BIN
    )
    begin
    raiserror('职工号不符合要求,请重新输入!',16,1)
    rollback
    end
    go
      

  4.   

    USE 数据库名
    GO
    CREATE TABLE 职工
    (
    职工号  char(8) PRIMARY KEY,
    ......,
    FOREIGN KEY (职工号) REFERENCES 仓库(仓库号)
    )
    数据库名:是你创建的职工表和仓库表依附的数据库。
    ......表示你这个表里的其他属性列。
    至于你说的“前6位参照 仓库表里的仓库号  后2位为数字字符”,没有你说的这种属性定义方式。