Контейнер данных хранимой процедуры MySQL - PullRequest
0 голосов
/ 05 июня 2018

Есть ли в MySQL таблица переменных в качестве SQL-сервера или пользовательский тип в Oracle?Мой сценарий состоит в том, чтобы выбрать записи в контейнере и выполнить итерацию по контейнеру для дальнейших действий.

Я пробовал CURSOR , но кажется неэффективным, когда дело касается нескольких столбцов.Также пытался CREATE TEMPORARY TABLE с IS EXIST , из-за жизненного цикла, я считаю, не очень хорошая практика.

Ответы [ 2 ]

0 голосов
/ 19 июня 2018

MySQL не имеет табличной переменной .Использование курсор для итерации выбранного набора данных будет практикой до сих пор.Помните, что курсор должен существовать один раз в блоке begin end , последовательные потребности должны использовать вложенный блок begin end , чтобы завершить вашкурсор.

0 голосов
/ 05 июня 2018

иногда курсор стоит дорого.В oracle вы можете создать пользовательский объект и использовать его как список.как это: -

create or replace type lv_your_object as object(
    cloumn1 INTEGER,
    column2 VARCHAR2(1000),
    column3 VARCHAR2(1000),
    cloumn4 INTEGER,
);
/
CREATE OR REPLACE TYPE lv_your_object_list FORCE IS TABLE OF lv_your_object;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...