是这样的,本人建了个数据库,关于图书馆的,里面有一个表叫bookinfo,其中有个列名叫 图书编号,还有一个图书借阅表 bookout,里面也有个列叫 图书编号,都是各自的主键,我想在bookout表的 图书编号输入一值,如果输入的是 bookinfo中不存在的值 系统会提示错误,这个该怎么实现???
听说可以用触发器什么的,不过没用过不知道怎么弄,望大家赐教,小生拜谢了.........

解决方案 »

  1.   


    CREATE TABLE [dbo].[bookinfo] (
    [图书编号] [int] IDENTITY (1, 1) NOT NULL ,
    [图书名称] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL 
    ) ON [PRIMARY]
    GOCREATE TABLE [dbo].[bookout] (
    [图书编号] [int] NOT NULL ,
    [借阅人] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL 
    ) ON [PRIMARY]
    GOALTER TABLE [dbo].[bookinfo] WITH NOCHECK ADD 
    CONSTRAINT [PK_bookinfo] PRIMARY KEY  CLUSTERED 
    (
    [图书编号]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[bookout] WITH NOCHECK ADD 
    CONSTRAINT [PK_bookout] PRIMARY KEY  CLUSTERED 
    (
    [图书编号]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[bookout] ADD 
    CONSTRAINT [FK_bookout_bookinfo] FOREIGN KEY 
    (
    [图书编号]
    ) REFERENCES [dbo].[bookinfo] (
    [图书编号]
    ) ON DELETE CASCADE  ON UPDATE CASCADE 
    GO
      

  2.   

    哦,我去试下,我已经建好了表的,只执行
    ALTER TABLE [dbo].[bookinfo] WITH NOCHECK ADD 
    CONSTRAINT [PK_bookinfo] PRIMARY KEY  CLUSTERED 
    (
    [图书编号]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[bookout] WITH NOCHECK ADD 
    CONSTRAINT [PK_bookout] PRIMARY KEY  CLUSTERED 
    (
    [图书编号]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[bookout] ADD 
    CONSTRAINT [FK_bookout_bookinfo] FOREIGN KEY 
    (
    [图书编号]
    ) REFERENCES [dbo].[bookinfo] (
    [图书编号]
    ) ON DELETE CASCADE  ON UPDATE CASCADE 
    GO行的吧