现在两张表,结构如下:
A表:TZ_ID NUMBER, TZ_NAME VARCHAR2(10), TZ_ID的值由触发器填写;
B表:KYE_ID,NUMBER, TZ_ID NUMBER, FJ_NAME VARCHAR2(10), 要求B表中的TZ_ID与A表TZ_ID一致.
实际就是主从表,一对多.数据举例:A表记录
TZ_ID   TZ_NAME
1       测试1
2       测试2
说明:A表中的TZ_ID值由触发器填写.B表记录
KEY_ID  TZ_ID  FJ_NAME
1        1      测试1附加1
2        1      测试1附加2
3        1      测试1附加3
4        2      测试2附加1
5        2      测试2附加2
说明:B表中的KEY_ID作为唯一关键字由触发器填写.请各位高手不吝赐教!!!!

解决方案 »

  1.   

    不好意思,是这样的:
    A表.append;
    A表.FieldbyName('TZ_NAME').AsString:='测试1';
    B表.append;
    B表.FieldbyName('FJ_NAME').AsString:='测试1附加1';
    B表.FieldbyName('FJ_NAME').AsString:='测试1附加2';
    B表.FieldbyName('FJ_NAME').AsString:='测试1附加2';A表.append;
    A表.FieldbyName('TZ_NAME').AsString:='测试2';
    B表.append;
    B表.FieldbyName('FJ_NAME').AsString:='测试2附加1';
    B表.FieldbyName('FJ_NAME').AsString:='测试2附加2';
    存盘后要得到,如下这样的记录:
    A表记录  
    TZ_ID      TZ_NAME  
    1              测试1  
    2              测试2  
    说明:A表中的TZ_ID值由触发器填写.  
     
    B表记录  
    KEY_ID    TZ_ID    FJ_NAME  
    1                1            测试1附加1  
    2                1            测试1附加2  
    3                1            测试1附加3  
    4                2            测试2附加1  
    5                2            测试2附加2  
    说明:B表中的KEY_ID作为唯一关键字由触发器填写.
      

  2.   

    先对A表操作,插入数据,然后得到tz_id,再对B表操作。。
      

  3.   

    当我在前端增加一条记录并提交时,A表的TZ_ID由触发器生成.
    此时我要同时增加并提交B表的三条记录,我应该如果得到A表的TZ_ID呢?
    如果是单用户就没有什么问题了,多用户下怎么处理?
      

  4.   

    "先对A表操作,插入数据,然后得到tz_id,再对B表操作。。"
    首先谢谢wudi_1982(︻┳═一酒可千日不饮,但不可一饮不醉) 我如果知道哪个TZ_ID是当前用户增加记录产生的?
      

  5.   

    你添加完成之后,根据刚才添加的内容locate一下,不就得到表1的tz_id了
      

  6.   

    你的意思也就是说把A表提交后,再查询到TZ_ID,然后再增加并提交B表记录.我现在用的是另一种方法,比这个查询后再提交还要好些.但我想能够在服务端或在数据库中完成,那样网络交换就不会那么频繁了.
      

  7.   

    写个存储过程,使用表关联,用UPDATE语句更新后面的表