Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / пакетные переменные как в oracle / 8 сообщений из 8, страница 1 из 1
27.12.2019, 19:45
    #39909304
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
подобный вопрос, я задавал в MS SQL, там вроде всё устаканил, только к сожалению на ранних версиях не работает так как с 2016-й, Оракл конечно поинтереснее.

я понимаю, что есть Google, но у меня есть SQL.RU.

и так вопрос?
как сделать пакетные переменные в MySQL как в oracle или что то подобное. пример из Oracle далее. СПАСИБО.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
create or replace package BatchVarOra is
/*****************************************************************/
  PrjID          number;          -- ProjectID
  UserID         number;          -- UserID
  PCIP           varchar2(80);    -- PCNameIPAdresse
/*****************************************************************/
  function  Get_UserID     return number;
  function  Get_PCIP       return Varchar2;
----------------------------------------------
----------------------------------------------
----------------------------------------------
  procedure Set_UserID(MD number);
  procedure Set_PCIP(MD Varchar2);
----------------------------------------------
/*****************************************************************/
--WNDS = Write Not Data Set
--RNDS = Read Not Data Set
--WNPS = Write Not Package State
--RNPS = Read Not Package State
  pragma restrict_references (Get_UzerID,WNDS, WNPS);
  pragma restrict_references (Get_PCIP,WNDS, WNPS);
----------------------------------------------
----------------------------------------------
  pragma restrict_references (Set_UserID ,WNDS, RNDS, RNPS);
  pragma restrict_references (Set_PCIP ,WNDS, RNDS, RNPS);
----------------------------------------------
----------------------------------------------
/*****************************************************************/
end BatchVarOra;


create or replace package body BatchVarOra is
/-----------------------------------------------------------------/
  function Get_UserID return number is
  begin
    return(UserID);
  end;
/*****************************************************************/
  function Get_PCIP return Varchar2 is
  begin
    return(PCIP_id);
  end;
/-----------------------------------------------------------------/
  procedure Set_UserID(MD number) is
  begin
    User_ID := MD;
  end;
/*****************************************************************/
  procedure Set_PCIP(MD Varchar2) is
  begin
    PCIP := MD;
  end;
/*****************************************************************/
end BatchVarOra;
...
Рейтинг: 0 / 0
27.12.2019, 20:41
    #39909315
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
Не стОит кивать на Оракл. Лучше вменяемо объясните, для каких целей они нужны, как будут использоваться, каким свойствами обладают...
...
Рейтинг: 0 / 0
27.12.2019, 21:16
    #39909320
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
Akina,

использование пакетных переменных, это не вменяемая фраза? и пример вроде привел.

может так понятнее
открыл сессию
заполнил переменные
и используй переменные на запросах во время сессии

или как то по другому в наше время объясняют, или уже смысла нет у кого спросить?!?!?!?!?! одни в формулярах DevExpress утонули, забыл про функционал, балуются с формулярами, другие юзают Друпал и кричат, что знают MySQL.

P.S.
у меня просто пару сотен сайтов на Oracle и 10-к на MySQL, хочу немного расширить возможности пару приложений.
...
Рейтинг: 0 / 0
27.12.2019, 22:02
    #39909328
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
yemets63,

Нет пакетов - нет и пакетных переменных.
Но сессионные есть - https://dev.mysql.com/doc/refman/8.0/en/user-variables.html


yemets63
у меня просто пару сотен сайтов на Oracle и 10-к на MySQL, хочу немного расширить возможности пару приложений.
Спросите у ваших разрабов, они наверняка знают.
...
Рейтинг: 0 / 0
27.12.2019, 23:48
    #39909354
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
yemets63
использование пакетных переменных, это не вменяемая фраза?
Для (применительно к) MySQL - совершенно невменяемая.
yemets63
может так понятнее
открыл сессию
заполнил переменные
и используй переменные на запросах во время сессии
Обычные сессионные переменные. Можешь хоть из приложения устанавливать, хоть в инициализацию соединения затолкать...
Есть один маленький "но" - не везде их можно использовать. В динамическом SQL, триггерах и пр. они не допускаются.
...
Рейтинг: 0 / 0
29.12.2019, 17:48
    #39909621
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
ну и в Оракле существует EXECUTE_IMMEDIATE для динамического SQL
ничего страшного
в MySQL через PREPARE все работает
...
Рейтинг: 0 / 0
30.12.2019, 11:29
    #39909761
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
yemets63,

В MySQL нет пакетов. Соотв. нет и пакетных переменных... Логично?

Нужны переменные -- эмулируй таблицами, псевдовременными например.
...
Рейтинг: 0 / 0
30.12.2019, 12:57
    #39909802
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
пакетные переменные как в oracle
yemets63,

Никак/не нужно/юзайте 3-х звенку. Потом кому-то за вами дебажить это всё.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / пакетные переменные как в oracle / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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