declare
i number :=0;
id number :=1;
n varchar2(20) :='test';
begin
while i<10 loop
i :=i+1;
id :=id+1;
insert into p_user values(id,n);
commit;
end loop;
end;
=====================
我建立了一个P_USER_SEQ序列.能不能在PLSQL中将ID定义成序列?如何完成?
i number :=0;
id number :=1;
n varchar2(20) :='test';
begin
while i<10 loop
i :=i+1;
id :=id+1;
insert into p_user values(id,n);
commit;
end loop;
end;
=====================
我建立了一个P_USER_SEQ序列.能不能在PLSQL中将ID定义成序列?如何完成?
解决方案 »
- oracle SGA,PGA 内存分配,急.....
- 安装oracle时错误提示 写入文件F:\oracle\ora92\sysman\ole2\xpautune.reg时出现错误
- 字符调换
- 存储过程中给表增加一个字段并赋值 。。出错了
- SQL Server与Oracle的函数区别
- sql语句问题
- 在oracle中如何得到一个日期减去N个月以后的日期
- 可不可以通过备份恢复或导入导出,一下了就实现建 表空间、用户、服务、表 ,在给客户安装我们系统时,一步到位地实现数据库的安装?!
- 讨论:数据库建模工具
- 怎样把sysdba授权给用户?
- tnsnames.ora中多主机连接的时间能设置吗
- 一个查询请教
select P_USER_SEQ.nextval into ID from dual;
写在循环体里面就可以了
select P_USER_SEQ.nextval, 'test'
from dual
connect by rownum < 10;
SQL> edi
已写入 file afiedt.buf 1 declare
2 i number :=0;
3 id number :=1;
4 n varchar2(20) :='test';
5 begin
6 while i<10 loop
7 select sql1.nextval into id from dual;
8 insert into tt values(id,n);
9 i :=i+1;
10 commit;
11 end loop;
12* end;
SQL> /PL/SQL 过程已成功完成。SQL> select * from tt; NO TNAME
---------- --------------------
1 test
2 test
3 test
4 test
5 test
6 test
7 test
8 test
9 test
10 test已选择10行。
着句话啥意思?
create sequence 你的表名
minvalue 1
maxvalue 99999999
start with 1
increment by 1
cache 25
cycle;
然后再
select 你的表名.nextval into id from dual;
insert into tt values(id,n);
这个的意思是 将序列sql1的下一个值放到id这个变量中;
就是把序列的值赋给id,在把id的值插入你的表中的值