问题如下:
我有个表biao1:   num1   num2 num3   我想要这样的一个功能,当我:insert into biao (num1,num2) values ('1','2')的时候 他自动获取系统时间给我写入num3中,注意:要求,我的插入语句是不写convert(getdata())的,要求的是这个插入时间部分是在SQL中自动运行,而不是我在我的编程语句中运行,是用存储过程还是?  有会的麻烦写下执行步骤.谢谢

解决方案 »

  1.   

    在表增加num3字段 ,设置默认值为getdate()
      

  2.   

    CREATE TABLE biao1(num varchar(10),num2 varchar(10),num3 as getdate())
      

  3.   

    不能用getdate?不行就用触发器
      

  4.   

    在表设计器中,对表biao增加字段num3,设置其默认值为getdate()
      

  5.   


    IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
    CREATE TABLE TB(
    NUM1 INT,
    NUM2 INT,
    NUM3 DATETIME DEFAULT GETDATE()
    )
    INSERT INTO TB(NUM1,NUM2)
    SELECT 1,2 UNION ALL
    SELECT 3,4
    SELECT * FROM TB
    /*
    1 2 2009-09-04 09:54:18.890
    3 4 2009-09-04 09:54:18.890
    */
      

  6.   

    create table biao1(num1 int, num2 int, num3 datetime default getdate())如这样.
      

  7.   

    或者设置你的字段默认值为getdate()
      

  8.   

    如果存在字段num3insert into biao (num1,num2,num3) values ('1','2',getdate())
      

  9.   

    就是这两种方式IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
    CREATE TABLE TB(
    NUM1 INT,
    NUM2 INT,
    NUM3 DATETIME DEFAULT GETDATE(),
    NUM4 AS CONVERT(VARCHAR(10),NUM3,120)
    )
    INSERT INTO TB(NUM1,NUM2)
    SELECT 1,2 UNION ALL
    SELECT 3,4
    SELECT * FROM TB
    /*
    1 2 2009-09-04 10:02:20.903 2009-09-04
    3 4 2009-09-04 10:02:20.903 2009-09-04
    */
      

  10.   

    还有就是    怎么在SQL中设定指定时间内插入数据?
    就是比如  中午11:00到12:00内无法插入数据 用触发器怎么弄、?
      

  11.   


    create trigger gg on tb
    for insertasif datepart(hh,getdate()) between 11 and 12
        print '11点-12点之间不可插入数据'
    else
       insert ....
      

  12.   

    补充: 不要告诉我插入后,然后在触发器上用删除操作不符合条件的,我用的是无线传送插入的,就是我计算机A传递给计算机B的SQL后,如果执行SQL正常的话在计算机A上就记录为插入成功,我现在想不符合的时候再计算机A上提示插入失败