1.自动增加: 先建一个序列:
CREATE sequence seq_for_insert
minvalue 1
start with 1
increment by 1
nocache;再建一个trigger:
CREATE or replace trigger Trig_for_insert
before insert on TableName
for each row
BEGIN
select seq_for_insert.nextval into :new.ID from dual;
END;
/
2.oracle的对象全部是大写的,如select * from tab;会被编译SELECT * FROM TAB;
要用小写请"tab"
CREATE sequence seq_for_insert
minvalue 1
start with 1
increment by 1
nocache;再建一个trigger:
CREATE or replace trigger Trig_for_insert
before insert on TableName
for each row
BEGIN
select seq_for_insert.nextval into :new.ID from dual;
END;
/
2.oracle的对象全部是大写的,如select * from tab;会被编译SELECT * FROM TAB;
要用小写请"tab"
解决方案 »
- 导入导出的又一个尖端问题imp 00058 ora 00942 table or view does not exist
- 如果快速查找出Oracle数据库表中异常的几条记录?小弟在线等待高人指点。。。
- oracle 序列问题
- utl 的问题
- 视图奇慢,如何解决??
- dbtimezone跟current_timestamp有什么不同?
- 关于在oracle9i和oracle10g之间建立dblink 测试时出现"未活动的链接"问题。
- 请问如何获取和分析oracle的日志
- Oracle 中不可以使用 top 字句吗?
- ORA-01555的错!感谢,请帮我看看!
- 这样的SQL语句Oracle支持吗?
- 简单问题:如何把查询的结果存入一个新表中(在线等)
先建表、再建序列、然后是触发器,最后测试=============================================
--为主键指定序列编号
--2003-10-8 15:53
=============================================
conn scott/tiger@powermis
drop table foo;
create table foo(
id number primary key,
data varchar2(100)); create sequence foo_seq; create or replace trigger bifer_foo_id_pk
before insert
on foo
for each row
begin
select foo_seq.nextval into :new.id from dual;
end;
/ insert into foo(data)
values('Chirstopher'); insert into foo(id,data)
values(5,'Sean'); select * from foo;
2.UPER()函數(全部轉換為大寫)
譬如有这样一表
U_ID U_NAME
Alex_wu Alex
oracle似乎只支持这种select * from tab where u_id='Alex_wu'
我希望通过下面两种都可以查出来
select * from tab where u_id='alex_wu'
select * from tab where u_id='ALEX_WU'