这样他又说什么 DML中不能有 DDL之类的操作select dbo.fcodeinsert('g','g','c','d','e') from dual;
解决方案 »
- 在查询或DML中无法执行DDL,提交或回退
- 请教以下两段代码,单独运行通过,在存储过程里一起运行就报错
- Oracle 数据分组统计的问题~!(在线等)
- 关于oracle服务端 配置文件tnsname。ora
- 一个关于数据库的纠结问题 求前辈指导
- !!!Solaris上出现ora-01461问题
- oci.dll的问题
- oracel启动不了service!
- 索引表空间被删掉了,怎么恢复啊?急!!!!!!!
- oracle9i可以直接生成HTML各式的Report,oracle有没有提供程序接口
- ORA-01403: 未找到数据(group by) 语句:select into group by .
- 为什么操作序列时会报插入空值的错误?大牛请解惑
select distinct codeid from dbo.code;也不對,返回結果集合需要使用包(package)
select dbo.fcodeinsert('g','g','c','d','e') from dual;下面是我的函数:
create or replace function dbo.fCodeInsert
(v_groupname in dbo.code.groupname %type,
v_codename in dbo.code.codename %type,v_codevalue in dbo.code.codevalue %type,
v_description in dbo.code.description %type,v_groupnamechn in dbo.code.groupnamechn %type)
return integer is
Result integer;
begin
select nvl(max(codeid),0)+1 into Result from dbo.code;
insert into dbo.code
(codeid, groupname, codename, codevalue, description, groupnamechn, canedit)
values
(Result, v_groupname, v_codename, v_codevalue, v_description, v_groupnamechn, 1);
--result := v_codeid;
commit work;
return(Result);
exception
when others then
begin
rollback;
result := -10005;
return(Result);
end;
end fCodeInsert;
codeid number;
begin
codeid := dbo.fcodeinsert('g','g','c','d','e');
select distinct codeid from dbo.code;
dbms_output.put_line(codeid);
end;
用这种方式他又说缺少Into子句:
难道这种方式就不能返回结果值吗?