分成两句 序列不能直接这样使用
declare
v_seq number;
begin
select T_GID_SEQ.nextval into v_seq from dual;
insert into user values (v_seq,'test');
end;
declare
v_seq number;
begin
select T_GID_SEQ.nextval into v_seq from dual;
insert into user values (v_seq,'test');
end;
解决方案 »
- SQL中引号?
- 触发器的不能查询触发表的错误.
- 请教ORACLE 数据库控制日志问题?
- 请问在AIX下执行sqlplus / as sysdba是什么意思?
- 请问哪里有oracle 9i或10的下载?
- 【★】 一份 UNIX 下的 SQL 作业 【★】 --------求助------【现金报酬】【英文】
- 请问怎样察看服务器中的oracle中的数据
- 多个版本的ORACLE可不可以在同一个操作系统中共存啊?(WINNT)
- Oracle 中 cache buffer hit ratio (高速缓冲区命中率) 小与 90% 基本属于不正常现象 , 不知道如何调整 ?
- 删除用户??????????
- 请教高手 oracle中的sql语句如何改写成sqlserver中sql
- 怎样把Oracle数据倒到Sql-Server!
insert into USER values (T_GID_SEQ.nextval,'test');
SELECT T_GID_SEQ.currval FROM DUAL;
这样是可以得到当前的序列值的。
declare
v_col user.col1%type;
begin
...
insert into USER(col1,col2) values (T_GID_SEQ.nextval,'test') return col1 into :v_col1;
...
create trigger tri_name
before insert on USER
for each row
begin
select :new.col_name into 全局变量 from dual;
end;
/全局变量可用包作传递