创建一张表。其某一个字段的默认值为日期时间值
con.Execute "create table wj(bh int not null, xm varchar(10) not null,csrq datetime default getdate())"为何提示getdate()为求知函数。还有一个问题:清除表内的所有数据
con.Execute "truncate table 销售表"提示错误:销售表已经存在拜托各位是什么原因

解决方案 »

  1.   

    con.Execute "create table wj(bh int not null, xm varchar(10) not null,csrq datetime default getdate())"
    //getdate()不能用做默认值,换成具体的日期值
      

  2.   

    改成:DEFAULT (getdate())
      

  3.   

    对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
      

  4.   

    改成:DEFAULT (getdate())也不行
    我就是想让csrq的默认值为当前日期时间。不可以吗??
      

  5.   

    SQL2000帮助文件是这样说的DEFAULT 定义
    每列只能有一个 DEFAULT 定义。
    DEFAULT 定义可以包含常量值、函数、SQL-92 niladic 函数或 NULL。下表显示 niladic 函数及其在执行 INSERT 语句时返回的默认值。 SQL-92 niladic 函数 返回的值 
    CURRENT_TIMESTAMP 当前日期和时间。 
    CURRENT_USER 执行插入操作的用户名。 
    SESSION_USER 执行插入操作的用户名。 
    SYSTEM_USER 执行插入操作的用户名。 
    USER 执行插入操作的用户名。 
    DEFAULT 定义中的 constant_expression 不能引用表中的其它列,也不能引用其它表、视图或存储过程。
    不能在数据类型为 timestamp 的列或具有 IDENTITY 属性的列上创建 DEFAULT 定义。
    如果用户定义数据类型绑定到默认对象,则不能在该用户定义数据类型的列上