Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 29, 2007 15:25:48

Unnamed
От:
Зарегистрирован: 2006-12-27
Сообщения: 47
Репутация: +  0  -
Профиль   Отправить e-mail  

Алиасы для таблиц.

Доброго времени суток.

Подскажите.
Есть, очень много строк, что-то вроде:
cr.execute(“select name from spr_module where state = ‘ok’”)

Как поменять таблицу выборки, сделать, чтобы выборка проводилась не с таблицы “spr_module”, а, допустим, с “one_spr_module”, не меняя самой строки приведенной выше?

Есть что-то вроде алиасов, чтобы можно было присвоить в начале программы таблице “old_spr_module” алиас “spr_module” и не менять тысячи строк исходного кода?..

Ситуация такая.
Необходимо разделить в БД таблицы на несколько вариантов(копий):
было Табл_1, Табл_2…. Табл_N ,
стало Табл_1а, Табл_1б, Табл_1в, Табл_2а, Табл_2б, Табл_2в… и т.д.,
Как это сделать без серьезных изменений в исходных кодах и перебираний всех строк запросов?



Офлайн

#2 Авг. 30, 2007 10:09:20

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Алиасы для таблиц.

Есть такая штука - View называется.

Еще как вариант есть очень клевая технология - Find&Replace. =)



Офлайн

#3 Авг. 30, 2007 10:55:35

kovleon
От:
Зарегистрирован: 2007-08-30
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Алиасы для таблиц.

To shiza:
К сожалению, нужно запись проводить в таблицы, не только выборки. Есть байт код без исходников(мало, но есть), а что вних - не известно, может тоже, SQL выборки-изменения…



Офлайн

#4 Авг. 30, 2007 11:29:34

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Алиасы для таблиц.

Unnamed
cr.execute(“select name from spr_module where state = ‘ok’”)

Как поменять таблицу выборки, сделать, чтобы выборка проводилась не с таблицы “spr_module”, а, допустим, с “one_spr_module”, не меняя самой строки приведенной выше?
Например, так:

tables =
for table in tables:
cr.execute(“select name from %s where state = ‘ok’” % table)



Офлайн

#5 Авг. 30, 2007 19:35:41

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Алиасы для таблиц.

balu, только


cr.execute(“select name from %s where state = ‘ok’”, (table, ))


так как бы безопасней и “по правилам” ;)

Офлайн

#6 Авг. 31, 2007 01:20:17

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Алиасы для таблиц.

kovleon
To shiza:
К сожалению, нужно запись проводить в таблицы, не только выборки. Есть байт код без исходников(мало, но есть), а что вних - не известно, может тоже, SQL выборки-изменения…
Хм. В байт-коде SQL запросы должны быть в виде строк.
Его можно легко декомпилировать - сделать Find&Replace и обратно скомпилировать ;)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version