要约束A表每天只能INSERT一条记录,可以为 WORKDATE 字段建UNIQUE约束。至于B表,Insert语句可以这样写:insert into B(BID,AID,TASKNAME)
select isnull(count(*),0)+1,@AID,@TASKNAME from B where AID=@AID

解决方案 »

  1.   

    再次介绍这两个表的关系:
    第一天写日志时,先在主子表中分别增加一条记录,然后根据WORKDATE字段主表A不再增加记录,子表与主表关联可以继续增加记录.说的通俗些就是主表的一条记录对应子表的多条记录.
    第二天 ,第三天...也是如此.
      

  2.   

    libin_ftsafe(子陌红尘:TS for Banking Card) 大人请别走,可以再细致的讲一下么,我想知道主表A的A.WORKDATE字段默认为当天日期是怎样在表中实现的,可以吗
      

  3.   

    INSERT 主表(WORKDATE) SELECT CONVERT(VARCHAR(10),GETDATE(),120)
      

  4.   

    主表A的A.WORKDATE字段默认为当天日期是怎样在表中实现的
    ---
    getdate()
      

  5.   

    我想请教 A.WORKDATE是怎样实现每天只能INSERT一条记录的呢.
    是不是WORKDATE要设置成当前日期呢
      

  6.   

    各位高人请看我的理解对吗:首先,INSERT 主表(WORKDATE) SELECT CONVERT(VARCHAR(10),GETDATE(),120);
    然后,为WORDATE建UNIQUE约束.用以上两步对吗?
      

  7.   

    --可以这样来建立A表:
    CREATE TABLE [dbo].[A] (
    [AID] [int] IDENTITY (1, 1) NOT NULL ,
    [WORKDATE] [varchar] (10) NOT NULL ,
    [QUESTION] [varchar] (500) NULL 
    ) ON [PRIMARY]
    GOALTER TABLE [dbo].[A] WITH NOCHECK ADD 
    CONSTRAINT [DF_A_WORKDATE] DEFAULT (convert(varchar(10),getdate(),112)) FOR [WORKDATE],
    CONSTRAINT [IX_A] UNIQUE  NONCLUSTERED 
    (
    [WORKDATE]
    )  ON [PRIMARY] 
    GO
      

  8.   

    INSERT 主表(WORKDATE) SELECT CONVERT(VARCHAR(10),GETDATE(),120)
    WHERE NOT EIXTS(SELECT 0 FROM 主表 WEHRE DATEDIFF(DD,WORKDATE,GETDATE())<>0)
    就只能插入一条,你讲得不是很清楚,也可象子陌说的建UNIQUE约束,具体操作在表设计时的索引中
      

  9.   

    首先,判断A表中是否有当前日期的记录存在,如果没有,插入一条,如果有,得到@AID然后,insert into B(BID,AID,TASKNAME)
    select isnull(count(*),0)+1,@AID,@TASKNAME from B where AID=@AID
      

  10.   

    各位高人请看我的理解对吗:首先,INSERT 主表(WORKDATE) SELECT CONVERT(VARCHAR(10),GETDATE(),120);
    然后,为WORDATE建UNIQUE约束.用以上两步对吗?
    ------------------------------------------------------------------------------------
    不对,在创建表的时候就指定缺省值,并创建唯一索引,如我上面提供的建表脚本所示。
    在Insert操作时,只需要使用以下语句:Insert into A(QUESTION) values('QUESTION的内容')
    以下是一个示例:--当天第一次执行A表的Insert操作
    Insert into A(QUESTION) values('QUESTION的内容1')--查看执行结果
    select * from A
    /*
    AID         WORKDATE   QUESTION
    ----------- ---------- -----------------
    1           20070907   QUESTION的内容1
    */--当天第二次执行A表的Insert操作
    Insert into A(QUESTION) values('QUESTION的内容2')
    /*
    违反了 UNIQUE KEY 约束 'IX_A'。不能在对象 'A' 中插入重复键。
    语句已终止。
    */--查看执行结果
    select * from A
    /*
    AID         WORKDATE   QUESTION
    ----------- ---------- -----------------
    1           20070907   QUESTION的内容1
    */