请问 我要建立一个表A 这个表有4个字段 分别是 s_id   NUMBER (8);
   month       VARCHAR2 (2 BYTE);
   day         NUMBER (2);
FLAG NUMBER (1);要实现s_id 从1到13 
month 从1到12
day 应该为能自动识别出所属的月份是30 天 31天 还是28天
falg 全部为0即可。
可以写过程实现 但这个应该如何写 才能把这些数据插入到表中呢?

解决方案 »

  1.   

    根据month可以得到这个月的最后一天,使用last_day()函数,与本月第一天相减再加1即可得到本月的天数
      

  2.   

        
    insert into a
    (s_id ,month,day ,FLAG )
    select sid,to_char(ymd,'mm'),to_char(last_day(ymd),'dd'),'0'
    from(
        select add_months(to_date('201001','yyyymm'),rownum-1) ymd,rownum sid
        from dual
        connect by rownum < 13
    )
      

  3.   

    这里不懂,什么意思啊?
    connect by rownum < 13
      

  4.   

    只知道connect by是Oracle的递归查询
    具体用法还没弄清