Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Бьюсь который день! / 10 сообщений из 10, страница 1 из 1
23.06.2003, 11:20:21
    #32188892
miha72
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
Подскажите, как с помощью процедуры создать таблицу (временную таблицу) в Оракле 8i или 9i? Дабы после ее вызвать и заполнить данными из др таблиц.
...
Рейтинг: 0 / 0
23.06.2003, 11:30:04
    #32188908
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
execute immediate 'create table ...';

Но это неправильный подход - создавать объекты на лету из хранимого кода, очень сильно неправильный. За такое принято кишки тупым кухонным ножом выпускать, однако
...
Рейтинг: 0 / 0
23.06.2003, 11:45:11
    #32188928
miha72
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
кишки новичку лучше оставить. Если поможешь, буду рад. Пробовал вернуть строки с помощью курсора (предварительно пролистав весь форум) - значения не возвращает. Ессесено я виноват, а вот где, никак не допру.
...
Рейтинг: 0 / 0
23.06.2003, 11:50:41
    #32188936
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
Покажи свой код - курсор, и как ты с ним работаешь. Непонятно, кто не возвращает значения.
Если тебе нужна временная таблица, её следует создать заранее - строки в ней видны только в пределах текущей сессии или транзакции (смотря как создашь таблицу). Подробнее про этот механизм - ищи по форуму на предмет global temporary table (GTT).
...
Рейтинг: 0 / 0
23.06.2003, 12:03:03
    #32188956
miha72
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
Спасибо за подсказку о temp table. А код следующий (слизанный тутже)

в SQL/PLS
declare type t_refcursor is ref cursor;
cr t_refcursor;
v_sql varchar2(200) := 'select * from miha.kodul';
begin
open cr for v_sql;
end;
/

или

Create or replace Package Pack
is
type MyCur is REF CURSOR;
Procedure prc(Mc in out MyCur);
end Pack;

/



Create or replace Package body Pack
is
Procedure prc(Mc in out MyCur)
is
begin
open Mc for select ul From kodul;
end prc;
end Pack;
/

А надо-то всего организовать обыкновенный отбор по вх.переменным из нескольких таблиц. В данном случае отобрать все наименования кодов из таблицы kodul. Сразу приношу извинения за вопрос делитанта
...
Рейтинг: 0 / 0
23.06.2003, 12:10:05
    #32188972
Simon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
вообще все не правильно
для того чтобы курсор вернул данные его надо профетчить

а OPEN только открывает курсор, но данные не фетчит, между прочим
перед тем как делать OPEN желательно делать CLOSE, так как он может быть уже открыт
...
Рейтинг: 0 / 0
23.06.2003, 12:18:56
    #32188989
miha72
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
с помощью чего это можно сделать? Цикл?
...
Рейтинг: 0 / 0
23.06.2003, 12:21:01
    #32188991
Bardis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
to SIMON

a che ty togda s:

SQL-02114: Invalid SQL Cursor usage: trying to CLOSE a CLOSEd cursor
Code:, -2114, User Val:0

delat budesh?
...
Рейтинг: 0 / 0
23.06.2003, 12:30:20
    #32189005
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
to Bardis

Можно (нужно) проверять на isopen перед закрытием.
...
Рейтинг: 0 / 0
23.06.2003, 13:25:19
    #32189092
Roman_M
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь который день!
> Подскажите, как с помощью процедуры создать таблицу (временную таблицу) в Оракле 8i или 9i?

Считается правильным не создавать, а использовать ранее созданные GLOBAL TEMPORARY TABLES. Хотя, конечно, кому как нравится...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Бьюсь который день! / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]