问高手2个问题:
1.
我现在有A表id NUMBER(15)(唯一,非自动增长),name VARCHAR2(30)
B表 name VARCHAR2(30);
现在我要将B表的数据插入A表中.其中A中的id非自动增长,但是要求是,它也要随着记录的增加而增加.
比如说目前a表中id最大值为10,我要添加5条记录之后,每添加一条记录,id对应自动增长1,这5条记录添加后在A表中id显示分别为11,12,13,14,15;
我写了这个语句 insert into a(id,name) select max(a.id)+1,b.name from a,b 但是报错"ORA-00918:coumn ambiguously defined "
高手帮我看看------------------------------------------
2.
或者另外一种情况表如1中所说,但id是自动增长列(不允许为空)
但是我用语句insert into a (name) select name from b 但是报错"id不能为空!!"
高手帮忙... ... ... ... ...
1.
我现在有A表id NUMBER(15)(唯一,非自动增长),name VARCHAR2(30)
B表 name VARCHAR2(30);
现在我要将B表的数据插入A表中.其中A中的id非自动增长,但是要求是,它也要随着记录的增加而增加.
比如说目前a表中id最大值为10,我要添加5条记录之后,每添加一条记录,id对应自动增长1,这5条记录添加后在A表中id显示分别为11,12,13,14,15;
我写了这个语句 insert into a(id,name) select max(a.id)+1,b.name from a,b 但是报错"ORA-00918:coumn ambiguously defined "
高手帮我看看------------------------------------------
2.
或者另外一种情况表如1中所说,但id是自动增长列(不允许为空)
但是我用语句insert into a (name) select name from b 但是报错"id不能为空!!"
高手帮忙... ... ... ... ...
解决方案 »
- 跪求高手指点!!!SQL plus登不上,协议适配器错误。PLSQL Developer可以登录
- 多表查询问题
- 连接Oracle9i报ORA-12540:超出内部限制错误!!!
- PL/SQL Developer 连接Oracle 出错
- DataTabel.PrimaryKey这样设置联合主键为什么不行?
- 能通过dblink调用远程的存储过程吗?
- select top 1 username from system.tbadmin,如何变成ORACLE的语句啊。
- 高分求救:如何导出Oracle中的数据!
- 如何批量修改一列的值?把另一张表的某个字段对应的赋到这张表的某一字段中。
- Oracle在2000 Server 下和linux下有什么区别?
- oracle 索引失效问题
- sysdba的问题
insert into a(id, name) select rownum, b.* from b;单条插入可以用sequence
insert into a(id, name) values(mySequence.nextval, 'myname');
minvalue 1
maxvalue 9999999999999999999999999999
start with 11
increment by 1
nocache;insert into a(id,name)
select SQ_test.NEXTVAL,name from b;
insert into a select t.m+rownum ,b.name from b,(select max(id) m from a)t;
ID NAME
---------------- ------------------------------
9 fddfgh
10 gf
11 jgh
12 jjjk
13 hjkhj
14 m,hj
6 rows selected
SQL> select * from b;
NAME
------------------------------
fddfgh
gf
jgh
jjjk
hjkhj
m,hj
6 rows selected
SQL> insert into a select t.m+rownum ,b.name from b,(select max(id) m from a)t;
6 rows inserted
SQL> select * from a;
ID NAME
---------------- ------------------------------
9 fddfgh
10 gf
11 jgh
12 jjjk
13 hjkhj
14 m,hj
15 fddfgh
16 gf
17 jgh
18 jjjk
19 hjkhj
20 m,hj
12 rows selected
SQL>
maxid number;
begin
select max(id) into maxid from a;
insert into a(select maxid+rownum,name from b);
commit;
end;