--创建自动增长列
create sequence emp_sequence
increment by 1----每次增加几个
minvalue 1----最小值为1
nomaxvalue----不限制最大值
start with 1----从1开始
cache 10----缓存
order;
--问题类型表
create table questionType(
qid int primary key,
typename varchar2(200) not null)
procedure InsertUser(uname in varchar2,upass in varchar2,zname in varchar2 ,sex in varchar2,company in varchar2,dept in varchar2,job in varchar2,telephone in varchar2,Email in varchar2,MSN in varchar2,QQ in varchar2,resultvalue out testCursorType)
is
sqlstr varchar2(200);
begin
sqlstr:='insert into usersyan values(';
sqlstr:=sqlstr||emp_sequence.nextval||','||uname||','||upass||','||zname||','||sex||','||company||','||dept||','||job||','||telephone||','||Email||','||MSN||','||QQ||')';
execute immediate sqlstr;
commit;
end;我创建了一个自动增长列,想用存储过程来添加数据,但是把自动增长列作为参数添加编译不通过,这是怎么回事呢?
如果我直接用sql语句则会成功
create sequence emp_sequence
increment by 1----每次增加几个
minvalue 1----最小值为1
nomaxvalue----不限制最大值
start with 1----从1开始
cache 10----缓存
order;
--问题类型表
create table questionType(
qid int primary key,
typename varchar2(200) not null)
procedure InsertUser(uname in varchar2,upass in varchar2,zname in varchar2 ,sex in varchar2,company in varchar2,dept in varchar2,job in varchar2,telephone in varchar2,Email in varchar2,MSN in varchar2,QQ in varchar2,resultvalue out testCursorType)
is
sqlstr varchar2(200);
begin
sqlstr:='insert into usersyan values(';
sqlstr:=sqlstr||emp_sequence.nextval||','||uname||','||upass||','||zname||','||sex||','||company||','||dept||','||job||','||telephone||','||Email||','||MSN||','||QQ||')';
execute immediate sqlstr;
commit;
end;我创建了一个自动增长列,想用存储过程来添加数据,但是把自动增长列作为参数添加编译不通过,这是怎么回事呢?
如果我直接用sql语句则会成功
解决方案 »
- sql 执行计划 view是什么意思啊
- 查询oracle的临时表,查询不到数据。
- 高分求一个关于sql的问题,在线等,帮忙解决的我会衷心的感谢!
- 一个字段要把重复的名称从第二个开始在名称后面加数字,这个SQL如何写,,,多谢
- Oracle insert into table(*,*) values(*,*) 问题
- 建立表空间前如何判断是否存在同名的表空间,存在该怎么处理,在线等
- 菜鸟问题: oracle的Enterprise Manager Console是什么,怎么用???
- 关于用oracle database configuration assistant创建数据库的问题!!感谢大家!!
- Oracle到底用了多少端口?
- 腾训的速度这么快,用的什么数据库呀?
- oracle监听的服务器IP是如何确定的?
- 如何执行文件
create or replace procedure InsertUser(uname in varchar2,upass in varchar2,zname in varchar2,
sex in varchar2,company in varchar2,dept in varchar2,
job in varchar2,telephone in varchar2,Email in varchar2,
MSN in varchar2,QQ in varchar2,resultvalue out testCursorType)
is
sqlstr varchar2(200);
qid number;
begin
select emp_sequence.nextval
into qid
from dual;
sqlstr:='insert into usersyan values(';
sqlstr:=sqlstr||to_char(qid)||','||uname||','||upass||','||zname||','||sex||','||company||','||dept||','||job||','||telephone||','||Email||','||MSN||','||QQ||')';
execute immediate sqlstr;
commit;
end;