Oracle 和 SQL Server完全不一样掉了.请教一下,如何创建存储过程.我有一张表,表里有三个字段.表名:rankinfo
字段:ranid
ranname
ranclass表中有一条ranid为1的记录请问:
1,如何写一个查询ranid=1的存储过程?
2,如何写一个向rankinfo表中插入记录的存储过程?
3,如何写一个删除rankinfo表中ranid=1记录的存储过程?
字段:ranid
ranname
ranclass表中有一条ranid为1的记录请问:
1,如何写一个查询ranid=1的存储过程?
2,如何写一个向rankinfo表中插入记录的存储过程?
3,如何写一个删除rankinfo表中ranid=1记录的存储过程?
v_name rankinfo.ranname%type;
v_class rankinfo.ranclass%type;
begin
select ranid,ranname into v_name,v_class from rankinfo where ranid=1;
dbms_output.put_line(v_name||v_class);
end;
create or replace procedure pr_test(vid rankinfo.ranid%type,
vname rankinfo.ranname%type,
vclass rankinfo.ranclass%type) is
begin
select ranid, ranname into v_name, v_class from rankinfo where ranid = 1;
dbms_output.put_line(v_name || v_class);
end;
create or replace procedure pr_test() is
begin
delete from rankinfo where ranid = 1;end;
create or replace procedure pr_test(vid rankinfo.ranid%type,
vname rankinfo.ranname%type,
vclass rankinfo.ranclass%type) is
begin
insert into rankinfo values(vid,vname,vclass)
end;
v_name rankinfo.ranname%type;
v_class rankinfo.ranclass%type;
begin
select ranid,ranname into v_name,v_class from rankinfo where ranid=1;
dbms_output.put_line(v_name||v_class);
end;
我把这个代码复制到客户端执行,提示:ORA-00901: 无效 CREATE 命令请问,是什么原因啊?
v_name rankinfo.ranname%type;
v_class rankinfo.ranclass%type;
begin
select ranid,ranname into v_name,v_class from rankinfo where ranid=1;
dbms_output.put_line(v_name||v_class);
end;我把 create or 去掉,可以建.但Execute就出错
ORA-18008: 无法找到 OUTLN 方案
ORA-06512: 在"NRMSMAIN.pr_test", line 5
ORA-06512: 在line 2
2 v_id rankinfo.ranid%type;
3 v_name rankinfo.ranname%type;
4 v_class rankinfo.ranclass%type;
5 begin
6 select ranid into v_id,ranname into v_name,ranclass into v_class from rankinfo where ranid = 1; 7 dbms_output.put_line(v_id||v_name||v_class);
8 /警告: 创建的过程带有编译错误。SQL>
v_id rankinfo.ranid%type;
v_name rankinfo.ranname%type;
v_class rankinfo.ranclass%type;
begin
select ranid,ranname,ranclass into v_id,v_name,v_class from rankinfo where ranid = 1;dbms_output.put_line(v_id||v_name||v_class);
end;ORA-18008: 无法找到 OUTLN 方案
ORA-06512: 在"NRMSMAIN.PR_TEST", line 6
ORA-06512: 在line 2
RANNAME VARCHAR2(50) NOT NULL,
RANCLASS NUMBER(4,0) DEFAULT 0 NOT NULL
你加nrmsmain做什么呢?
你试试执行另外两个吧。插入的跟删除的。create or replace应该需要加的阿
原来是因为我把其它用户删了.安装好,有好多被锁定的用户.
原来这些用户不能删啊...感谢两位热心帮助...