网站首页 > 文章中心 > 其它

oracle如何测试存储

作者:小编 更新时间:2023-08-16 08:32:48 浏览量:431人看过

oracle plsql怎么调试存储过程

①.、首先是编写存储过程,编译无误;

如何oracle调试存储过程

oracle测试存储过程传入数组怎么传

这个是我自己写的一个例子,你看看:

在命令窗口执行以下语句,创建自定义类型NESTEDARRAY.

create or replace TYPE NESTEDARRAY IS TABLE OF NUMBER;

在存储过程中使用自定义类型NESTEDARRAY.

PROCEDURE GET_ARR_RESULT(INPUTARRAY IN NESTEDARRAY, AR OUT NESTEDARRAY) IS

BEGIN

AR := NESTEDARRAY();

FOR I IN 1 .. INPUTARRAY.COUNT LOOP

AR.EXTEND;

AR(I) := I|| INPUTARRAY(I);

END LOOP;

END GET_ARR_RESULT;

Java代码:

import java.sql.Connection;

import java.sql.SQLException;

import oracle.jdbc.OracleCallableStatement;

import oracle.jdbc.OracleTypes;

import oracle.sql.ARRAY;

import oracle.sql.ArrayDescriptor;

import oracle.sql.Datum;

/**

* Java获取Oracle存储过程返回自定义类型

* @author lucky star

*

*/

public class OracleTypeResultTest {

* @param args

public static void main(String[] args) {

Connection con = null;

OracleCallableStatement ocs = null;

String sql = "{call test.GET_ARR_RESULT(?,?)}";

try {

con = DBUtil.dbUtil.getConnection();

ocs = (OracleCallableStatement) con.prepareCall(sql);

ArrayDescriptor arrayDesc = ArrayDescriptor.createDescriptor("NESTEDARRAY", con);

ARRAY inputArray = new ARRAY(arrayDesc, con, params);

ocs.setARRAY(1, inputArray);

ocs.execute();

Datum[] datum = array.getOracleArray();

for (int i=0;idatum.length;i◆◆) {

System.out.println(datum[i].intValue());

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if(ocs!=null)ocs.close();

if(con!=null)con.close();

oracle 测试存储过程 是哪个权限

Oracle规定,在默认的情况下,在调用存储过程用户的角色不起作用,即在执行存储过程时只有Public权限.所以在调用Create table时,会有权限不足的提示.

只需要使用IR Procedure就能很快解决问题啦,把代码修改为如下:

CREATE OR REPLACE PROCEDURE TestProc AUTHID current_user

IS

flag number;

if (flag=0) then

else

end if;

END ;

执行存储过程,顺利通过.

以上就是土嘎嘎小编为大家整理的oracle如何测试存储相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章