oracle 插入数据
oracle 中有如下字段 id name age sex 现在我要向表中插入数据 怎么写语句。id 是自增长的。如果记录很少 ,一眼就可以看出来 ,如果记录很多根本就不知道id是多少。怎么写呢、
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才能卸干净