Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.06;
Скачать: CL | DM;

Вниз

Rename table в хранимой процедуре   Найти похожие ветки 

 
Квэнди ©   (2008-01-27 14:20) [0]

Здравствуйте. Я хочу из хранимой процедуры переименовывать таблицы, делаю так:
create procedure renpref ()
begin
declare str varchar (50);
declare strnew varchar (50);
declare is_end INT Default 0;
declare curtab cursor for show tables;
declare continue handler for not found set is_end=1;
open curtab;
wet: LOOP
fetch curtab into str;
if is_end then LEAVE wet;
END IF;
set strnew = insert(str,1,instr(str,"_"),"tst_");
Rename table @str  to @strnew;
END LOOP wet;
CLOSE curtab;
end;

ну собственно здесь при попытке создания процедуры возникает сразу ошибка синтаксиса:
Rename table @str  to @strnew;
а можно ли как- нибудь подставить в RENAME TABLE значение переменной ? и если можно то как выйти из этой ситуации ?
СУБД MYSQL


 
MsGuns ©   (2008-01-28 10:46) [1]

Не следует бе крайней надобности переименовывать таблицы в БД, а уж закладывать это в бизнес-логику - устраивать себе маленький термоядерный взрывчик ;)


 
Sergey13 ©   (2008-01-28 10:57) [2]

> [0] Квэнди ©   (27.01.08 14:20)

Не знаю как мускуле, но некоторые сервера вообще не дают возможности менять метаданные в ХП. Обойти это можно только через динамический SQL. А вот надо ли обходить, см [1].


 
ANB ©   (2008-01-28 11:47) [3]


> Обойти это можно только через динамический SQL

А если старая таблица (оракл) еще и используется в этой же хранимке, то результат обхода через динамический скл будет совсем веселым :)


 
Sergey13 ©   (2008-01-28 11:53) [4]

> [3] ANB ©   (28.01.08 11:47)

Да много на чего можно нарваться.


 
Petr V. Abramov ©   (2008-01-28 13:37) [5]


> ANB ©   (28.01.08 11:47) [3]

так неинтересно, лучше, когда хранимка в пакете, а пакет ссылается на таблицу
:)


 
ANB ©   (2008-01-28 14:07) [6]


> так неинтересно, лучше, когда хранимка в пакете, а пакет
> ссылается на таблицу

дадад. и пакет этот называется типа коммон и его юзает 80% других пакетов и хранимок, а также все триггера и вьюхи. :)



Страницы: 1 вся ветка

Текущий архив: 2008.07.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
3-1201519088
ganda
2008-01-28 14:18
2008.07.06
Table is busy


2-1212856283
Sofrin
2008-06-07 20:31
2008.07.06
Как правильно написать Series1.Clear для диаграммы?


15-1211353071
идфсльфт
2008-05-21 10:57
2008.07.06
Ну и где же эти глубины?


9-1172040240
Cerberus
2007-02-21 09:44
2008.07.06
Вопрос XProger у по его сетевому модулю.


15-1211314606
NewZ
2008-05-21 00:16
2008.07.06
Разработка сайта.