begin transaction DECLARE n=表1序列.nextval ; DECLARE m=表2序列.nextval;int insert into 表1(id) values(n); insert into 表2(id) values(m); if @@ERROR = 0 begin commit transaction; end else begin rollback transaction; end 像这样插入数据,在oracle中如何写啊??
nextval insert 两张表 不就完事了吗
begin transaction DECLARE n=表1序列.nextval ; DECLARE m=表2序列.nextval;int insert into 表1(id) values(n); insert into 表2(id) values(m); if @@ERROR = 0 begin commit transaction; end else begin rollback transaction; end 像这样插入数据,在oracle中如何写啊??
declare n int :=±í1ÐòÁÐ.nextval; m int :=±í2ÐòÁÐ.nextval; begin insert into ±í1(id) values(n); insert into ±í2(id) values(m); end;
你访问
序列.Currval
就可以得到当前值了,不过这个方法有点危险,如果在这个期间有别人操作这个序列的话
所以你可以先用
序列.nextval
得到应该插入的id值,然后在这两个表中都使用这个值
DECLARE n=表1序列.nextval ;
DECLARE m=表2序列.nextval;int insert into 表1(id)
values(n);
insert into 表2(id)
values(m);
if @@ERROR = 0
begin
commit transaction;
end
else
begin
rollback transaction;
end
像这样插入数据,在oracle中如何写啊??
DECLARE n=表1序列.nextval ;
DECLARE m=表2序列.nextval;int insert into 表1(id)
values(n);
insert into 表2(id)
values(m);
if @@ERROR = 0
begin
commit transaction;
end
else
begin
rollback transaction;
end
像这样插入数据,在oracle中如何写啊??
n int :=±í1ÐòÁÐ.nextval;
m int :=±í2ÐòÁÐ.nextval;
begin
insert into ±í1(id) values(n);
insert into ±í2(id) values(m);
end;
insert into 表2(id,pid) values(m,n);
这样不行吗