当前位置:数据库 > Oracle >>

oracle 插入数据

oracle 中有如下字段 id name age sex 现在我要向表中插入数据 怎么写语句。id 是自增长的。如果记录很少 ,一眼就可以看出来 ,如果记录很多根本就不知道id是多少。怎么写呢、
答案:如果ID是数字型的,你可以用MAX函数,例如:

insert into table_name
select max(id) + 1 ,$name,$age,$sex 
from table_name;

这样的SQL可以算出最大的id号,然后在此基础上+1,就变成每次插入一条数据的时候取最大的值.也可以使用rownum这样的字段来实现.

另外,补充说明一下,ORACLE中没有自增长的字段,我们都是使用序列实现的,自己写一个小过程或者函数,每次插入的时候调取一下函数,获取最大的序列号,然后将该序列号自增,即可.
其他:不知道 可以创建一个sequence应用于该字段,比如已有sequence id_s,则可以用如下命令插入数据:
insert into table_name values(id_s.next_value,name_value,age_value,sex_value); 如果ID是用trigger实现增长的
declare v_id varchar2(10);
begin
insert into oracle(name,age,sex)
values('name','10','M')
returning id into v_id;
dbms_output.put_line(v_id);
end; 

上一个:最近安装了Oracle 10g 其中oracle/product/10.2.0/db_1/下什么文件都没有啊,这是什么回事啊??
下一个:如何卸载oracle才能卸干净

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,