rjps.net
当前位置:首页 >> orAClE 请问一下,一张已经建好的表,怎样在其中一列上添加自增列???新手,求解!!! >>

orAClE 请问一下,一张已经建好的表,怎样在其中一列上添加自增列???新手,求解!!!

先建一个sequence:有按钮可以直接建,也可以sql建DROP SEQUENCE _SEQUENCE;CREATE SEQUENCE _SEQUENCE START WITH 1000 MAXVALUE 99999999 MINVALUE 1 NOCYCLE NOCACHE ORDER;再建一个trigger: DROP

ORACLE中只能用序列来增长,不可能实现自动增长的 除非你用触发器, 1. 用alert语句给表新增一个字段,然后用序列给这个字段赋值,有多少条记录就赋多少,这个相信你自己也字段怎么做 2.写一个insert触发器,插入记录的同时更新该条记录的新字段信息 用序列

用这个方法,已经有数据的update 表名 set 列=rownum然后select max(列名) from 表名看看最大的那个id是多少别忘了,是sequence可以设置起始位置的,也就是从几开始自增,这样,你后边的数据不就和前边连续上了吗

oracle中没有递增列,只有sequence,至于表中的数据,需要自行使用sequence插入,或者自己写trigger完成.如果是11g可以使用虚拟列来完成,你的需求不明确,自行添加吧,示例语句:alter table t add (xhh as (to_number(hh))) ;to_number函数改成你自己想加的条件.

oracle没有自动递增的的字段.自动递增的的字段是mysql和sqlserver等其他数据库中得概念.如果要使用自动递增功能请使用 序列 . 用序列得 nextval 属性.创建序列得语法百度一下就有了.很多介绍得.

flyfing用identity函数,样例: create table jobs ( job_id smallint identity(1,1) primary key clustered )

oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现.create table t_client (id number(4) primary key,pid number(4) not null,name varchar2(30) not null,client_id varchar2(10),client_level char(3),bank

create or replace procedure p_test (i_str in varchar)is v_str varchar2(100); i number; begin select i_str into v_str from dual; i:=0; for i in 1..100 loop insert into test select i,'00' from dual; end loop; commit; end p_test;

没有这样的命令啊,新加列只能在最后,除非删表重建!再说只是显示的问题,没什么关系的,实在不行写查询语句的时候,写在前面就好呗!

alter table table_name add (e number(4));oracle中不能在某列前后固定插入,只会在最后列中追加插入新列不影响前面的数据其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:create table B as select a,b,e,c,d from Adrop table Aalter table B rename A

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com