请教插入记录的问题?(200)

  • 主题发起人 主题发起人 kristy811203
  • 开始时间 开始时间
K

kristy811203

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个表 xx1和xx2 表结构:表名 xx1      字段     类型       ID NUMBER(10)     主键       XM VARCHAR2(10)       NL NUMBER(10)       YF VARCHAR2(12)表名 xx2;      字段 类型        XH NUMBER(10)     主键  ID NUMBER(10      XM VARCHAR2(10)      NL NUMBER(10)       YF VARCHAR2(12) 我想把表XX1中的每条记录都插入到表XX2中,XX2比XX1中多了XH 这个字段,请问应该怎么处理,怎么实现?谢谢     
 
xh是主键,如是自增型,则不用管它,参考如下代码:insert into xx2 (id,xm,nl,yf) select id,xm,nl,yf from xx1
 
XH字段用INT类型,indentity 属性为yes,实现自增字段即可~
 
我用的是ORACLE的数据库,怎么把XH设置成自动增加啊?
 
创建一个序列CREATE SEQUENCE Seq_Log_Id Start with 1 MaxValue 99999999 MinValue 1 INCREMENT BY 1; 生成下一个序列 select Seq_Log_Id.nextval into 变量 from dual
 
摘自网上:Oracle上没有自增字段,可以使用索引和触发器来达到此目的 第一步:创建SEQUENCE create sequence s_country_id increment by 1 start with 1 maxvalue 999999999; 第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE create or replace trigger bef_ins_t_country_define before insert on t_country_define referencing old as old new as new for each row begin new.country_id=s_country_id.nextval; end;
 
有没用不创建sequence的方法,这个方法,我没怎么明白,不知道怎么去写代码,能说得具体些吗?在delphi 7中代码应该怎么写啊?
 
这个自增代码是在oracle中相对你的xx2表写的~~要么你用存储过程来做~`oracle自增字段(转)http://hi.baidu.com/21tian/blog/item/6063b0de6ec7da51ccbf1add.html
 
我没有写过存储过程,不知道该怎么写,从何处下手,能指点一下吗?谢谢!
 
oracle自增字段(转)http://hi.baidu.com/21tian/blog/item/6063b0de6ec7da51ccbf1add.html 上边这篇文章说的很清楚~~
 
除了这种方法,还有比的方法能实现这个功能吗?
 
换一个数据库,用ms sql server 了
 
不能换,要是能换,就没有这种问题了。要是表没有主键,删除一条记录怎么删除?
 
没有主键的话,搞不好会把所有记录都删除掉~~你就按上面的方法做触发器吧~~
 
我在Sequences 中写了一个这个:create sequence s_country_id increment by 1 start with 1 maxvalue 999999999; 在 triggers中写了一个这个:create or replace trigger bef_ins_t_country_define before insert on t_country_define referencing old as old new as new for each row begin new.country_id=s_country_id.nextval; end;但是,当我在ORALCLE 中,写插入语句的时候,出现如下错误提示:insert into xx2(id,xm,nl,yf) select id,xm,nl,yf from xx1 *错误位于第1行:ORA-04098: 触发器'BEF_INS_T_COUNTRY_DEFINE'无效且未通过重新验证请问这是什么错误,怎么解决,谢谢!
 
谁帮忙给看看这个是什么问题,怎么解决。
 
谁能给看看啊,谢谢!
 
怎么没人给回信息呢?
 
多人接受答案了。
 
后退
顶部