在Oracle的存储过程中如果要返回一个数据集(也就是一个Table)必须要用到游标,游标是不是必须在包里定义,能不能在一个系统中只定义一个游标,所有的存储过程要返回数据集都用这一个游标,但会不会产生两个以上用户同时要返回数据集时数据有误?还有请问大家在写Oracle存储过程时有什么经验没有?
请问怎样得到一个存储过程和包的输入输出参数属性?在SQL中是
select PARAMETER_NAME,PARAMETER_MODE,DATA_TYPE,NUMERIC_PRECISION,NUMERIC_SCALE,CHARACTER_MAXIMUM_LENGTH from INFORMATION_SCHEMA.PARAMETERS where SPECIFIC_NAME='" +ProcedureName+ "' order by ORDINAL_POSITION小弟第一次使用Oracle
请问怎样得到一个存储过程和包的输入输出参数属性?在SQL中是
select PARAMETER_NAME,PARAMETER_MODE,DATA_TYPE,NUMERIC_PRECISION,NUMERIC_SCALE,CHARACTER_MAXIMUM_LENGTH from INFORMATION_SCHEMA.PARAMETERS where SPECIFIC_NAME='" +ProcedureName+ "' order by ORDINAL_POSITION小弟第一次使用Oracle
解决方案 »
- Oracle 10g 索引结构信息查看问题
- sys登陆
- oracle9 打完补丁后sys就连不上了
- oracle查看系统日志
- 能这样建数据库表关系吗?
- 用PLSQL进数据库时,出现了'无法处理服务名'的错误!
- 存储过程编译错误:PLS-00103:出现符号"end-of-file"在需要下列之一时:.....怎么回事呢?
- windows2003(安在C分区中)系统瘫痪,如何恢复ORACLE9i(安在D分区中)
- 事关饭碗,求助7.3.4 连接 9i 数据库怎么创建 db_link
- 查询oracle表空间数据文件路径 这个是什么东东?大神解释下啊?
- 请问在VC中怎样使用绑定变量?
- 问一下like和=和?的用法
CREATE OR REPLACE PACKAGE "SCOTT"."HWTYPE" as
TYPE HWCURSOR IS REF CURSOR;
end;
CREATE OR REPLACE PROCEDURE "SCOTT"."PROC_TEST_CURSOR" (DDD OUT
HWTYPE.HWCURSOR)
as
begin
--这样可以动态设置游标了。
open DDD for SELECT DEPTNO,DNAME,LOC FROM DEPT;
end;
我说的只定义一个游标是不想在包中包含存储过程的参数,
CREATE OR REPLACE PACKAGE "SCOTT"."HWTYPE" as
TYPE HWCURSOR IS REF CURSOR;
end;
CREATE OR REPLACE PROCEDURE "SCOTT"."PROC_TEST_CURSOR" (DDD OUT
HWTYPE.HWCURSOR)
as
begin
--这样可以动态设置游标了。
open DDD for SELECT DEPTNO,DNAME,LOC FROM DEPT;
end;
如上面所写在一个包中没有包含存储过程的参数,但在存储过程中可以直接使用定义的游标。不知道这样行不行?
如果只定义一个游标那么在有两个以上用户同时使用时会不会产生问题?因为一个用户已经使用了这个游标,并且这个游标处于打开状态?