create table YK_IN  (
   VC_ID       VARCHAR2(10),
   DT_DATE              DATE                           default Sysdate,
   VC_CZY_ID            VARCHAR2(20),
   constraint PK__yk_in__1CF21B97 primary key (VC_ID)
)
oracle中设置缺省值用Sysdate?
我插入新纪录,可该日期字段并没有值???

解决方案 »

  1.   

    create table YK_IN  (
       VC_ID       VARCHAR2(10),
       DT_DATE      not null        DATE                           default Sysdate,
       VC_CZY_ID            VARCHAR2(20),
       constraint PK__yk_in__1CF21B97 primary key (VC_ID)
    )
      

  2.   

    你的插入语句是怎样的?insert into 语句中应该不包括dt_date字段时,才会使用缺省值。
      

  3.   

    我是在PL-SQL中和PowerBuilder中插入的
      

  4.   

    insert into YK_IN(vc_id,vc_cxy_id) values( )试试
      

  5.   

    应该没有问题,你看:
    SQL> create table YK_IN  (
      2     VC_ID       VARCHAR2(10),
      3     DT_DATE              DATE                           default Sysdate,
      4     VC_CZY_ID            VARCHAR2(20),
      5     constraint PK__yk_in__1CF21B97 primary key (VC_ID)
      6  );表已创建。SQL> INSERT INTO YK_IN(VC_ID,VC_CZY_ID) VALUES('10','20');已创建 1 行。SQL> COMMIT;提交完成。SQL> SELECT * FROM YK_IN;VC_ID      DT_DATE    VC_CZY_ID
    ---------- ---------- --------------------
    10         13-5月 -03 20
      

  6.   

    我试了一下在处理日期缺省值时Oracle和SQLServer是不一样的,我在PB中插入Oracle,日期项肯定没值。而SQLServer却有默认值,就这点来说也没法说那种处理方法好。大家有兴趣可以试试,用Delphi PB VB都可,发现问题对以后编码很有用噢
    大家说得很对,感谢!结帐...