Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Пакеты. Хранение данных.  [new]
alxndr92
Member

Откуда: Кострома
Сообщений: 25
Здравствуйте.
Допустим есть пакет
DROP PACKAGE pkg;
CLEAR SCREEN;
SET SERVEROUTPUT ON;

CREATE OR REPLACE PACKAGE pkg IS
TYPE indx2 IS TABLE OF NUMBER INDEX BY PLS_INTEGER;
TYPE massiv IS TABLE OF indx2 INDEX BY PLS_INTEGER;
mas massiv;
PROCEDURE ValToMas;
FUNCTION ToVisual(it IN NUMBER, jt IN NUMBER) RETURN VARCHAR2;
END pkg;
/
CREATE OR REPLACE PACKAGE BODY pkg IS

PROCEDURE ValToMas IS
mas massiv;
BEGIN
mas(1)(1):=2;  mas(1)(2):=4;  mas(1)(3):=1; mas(1)(4):=0; mas(1)(5):=0; mas(1)(6):=64; mas(1)(7):=0;
mas(2)(1):=1;  mas(2)(2):=2;  mas(2)(3):=0; mas(2)(4):=1; mas(2)(5):=0; mas(2)(6):=70; mas(2)(7):=0;
mas(3)(1):=0;  mas(3)(2):=-1; mas(3)(3):=0; mas(3)(4):=0; mas(3)(5):=1; mas(3)(6):=18; mas(3)(7):=0;
mas(4)(1):=-5; mas(4)(2):=-7; mas(4)(3):=0; mas(4)(4):=0; mas(4)(5):=0; mas(4)(6):=0;  mas(4)(7):=0;
END ValToMas;

FUNCTION ToVisual(it IN NUMBER, jt IN NUMBER) RETURN VARCHAR2 IS
val VARCHAR2(5 char);
BEGIN
val:= mas(it)(jt);
RETURN(val);
END ToVisual;

END pkg;
/


Мне нужно значения массива получиться в Visual Studio C#, но это вроде понятно как если сделать следующие..

Мне нужно заполнить и хранить заполненный массив, возвратить из него значения по индексам
я делаю так (для примера хочу вывести элемент с индексом 1 - 2
DECLARE 
tmp VARCHAR2(5 char);
BEGIN
scott.pkg.ValToMas;
tmp := scott.pkg.ToVisual(1,2);
dbms_output.put_line(tmp);
END;
/


и получаю ошибку что ДАННЫЕ НЕ НАЙДЕНЫ

DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "SCOTT.PKG", line 15
ORA-06512: at line 5


Заранеe благодарен
20 дек 12, 14:24    [13659876]     Ответить | Цитировать Сообщить модератору
 Re: Пакеты. Хранение данных.  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
alxndr92,
PROCEDURE ValToMas IS
mas massiv; <------ косяк тут
BEGIN
20 дек 12, 14:35    [13659980]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить