Есть ли какие системные процедуры в SQL 7
Владимир
Дата: 26.12.2000 15:10:27
По созданию копии от существующей таблицы, с другим именем.
Staple
Дата: 26.12.2000 15:50:56
А тебе обязательно процедура нужна?
Можно ведь и так:
Select * Into newtable From oldtable
Владимир
Дата: 26.12.2000 16:21:30
Мне нужно перед тем как скопировать данные (лучше если одна процедура делает обе эти операции), автоматически создать аналогичную таблицу (со всеми текущими первичными ключами и индаксами), но с другим именем.
Написать самому такую процедуру - не проблема, но не хотелось бы заново придумывть колесо.
Staple
Дата: 26.12.2000 17:53:44
...так select into и создает такую же таблицу, только не выставляет первичный ключ и дефолты...
а ключ и сам можешь выставить с помощью Alter Table
Дед Маздай
Дата: 27.12.2000 19:20:56
Таблица -> контекстное меню -> All Tasks -> Generate SQL Script. В панели Options отмечаешь все интересующие галочки (индексы, триггеры, primary и foreign keys, юзеры, права и пр.) Выполняем скрипт, создаем таблицу со всем этим добром. Данные перекачиваем при помощи insert ... select.
Способ 2 (те же яйца, вид сбоку). DTS -> Copy SQL Server Objects Task. Тоже перетаскивает индексы, referential integrity и проч.
Владимир
Дата: 28.12.2000 12:29:21
Это все замечательно, но мне нужно выполнять сие в автоматическом режиме, т.е. в определенный момент времени или стечение обстаятельств запускать скрипт, который проверит существование нужной мне таблицы:
1) если токовой нет, то создаст;
2) если есть, то проверит по полям, индексам, ключам, тригеррам и проведет корекцию если чего не совподает или отсутствует.
Со вторым пунктом понятно, что на решение его влияет множество условий, а сп ервым все достаточно просто:
- скилет (поля и их типы) берется от существующей таблицы,
- добовляется несколько полей для приведения её к нужной мне,
- создаёться первичный ключ.
- создаються стандартные* триггеры.
* - стандартные в моей БД.
Вот именно по этому мне и стало интересно есть ли какая-нибудь системная процедура по созданию аналогичной таблицы, но с другим именем, что-то вроде sp_rename.
Ну как я понял из ответов такой процедуры либо нет, либо с ней никто не сталкивался.
Ну чтож сделаю её сам.
Всем спасибо за ответы.
Удачи в Новом Году!
С Уважением Владимир.