在oracle里好象没有那种类型吧。 oracle里面有一种数据库对象叫序列。可以建一个序列。例如: create sequence testsqeue1 increment by 1 start with 1 然后在表里面插入值的时候引用的时候写成 testsqeue1.next我不知道对不对啊。仅参考,牛点的大虾尽管指教。
建一个序列,然后使用它, create sequence seq_name increment by 1 start with 1 maxvalue 99999999 nocycle cache 10insert into table values(seq_name.nextval,.....seq_name.nextval每执行一步自动加1
比如 TEST(ID,NAME) insert into test values(seq_name.naxtval,name) 总提示:列在此处不允许
两种方法 方法一: 用触发器建一个序列 create sequence a_seq increment by 1 start with 100; 建一个触发器, 自动+1 create or replace trigger t_a before insert on a for each row begin select s_a.nextval into :new.b from dual; end;方法二: 建一个序列 create sequence a_seq increment by 1 start with 100; 在语句中+1 insert into tbl(id,....) values (a_seq.nextval,....)
先 SELECT seq_name.naxtval INTO A FROM DUAL 再 insert into test values(A,name)
oracle里面有一种数据库对象叫序列。可以建一个序列。例如:
create sequence testsqeue1
increment by 1
start with 1
然后在表里面插入值的时候引用的时候写成 testsqeue1.next我不知道对不对啊。仅参考,牛点的大虾尽管指教。
create sequence seq_name
increment by 1
start with 1
maxvalue 99999999
nocycle
cache 10insert into table values(seq_name.nextval,.....seq_name.nextval每执行一步自动加1
insert into test values(seq_name.naxtval,name)
总提示:列在此处不允许
方法一:
用触发器建一个序列
create sequence a_seq increment by 1 start with 100;
建一个触发器, 自动+1
create or replace trigger t_a
before insert on a
for each row
begin
select s_a.nextval into :new.b from dual;
end;方法二:
建一个序列
create sequence a_seq increment by 1 start with 100;
在语句中+1
insert into tbl(id,....)
values (a_seq.nextval,....)
SELECT seq_name.naxtval INTO A FROM DUAL
再
insert into test values(A,name)
至于当前你最迫切想知道的答案,freddy2003() 的答案可以当教科书了。
seq_name.naxtval,
我用VB调试的时候如下
strsql = "insert into sys.test2 values(sys.fid.nextval," & text.text & ")"
ORCconn.Execute strsql
提示ORA-01031 权限不足
ORCCONN是CONNECTION对象,连接正确