Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Создание новой таблицы как копии уже существующей

Создание новой таблицы как копии уже существующейИногда возникает потребность в клонировании уже существующей таблицы (как с данными, так и без них). В трех ведущих СУБД синтаксис этой операции несколько отличается. Создание новой таблицы как точной копии уже существующей или как комбинации столбцов разных таблиц — еще одна новая функция, введенная в стандарте SQL:2003, хотя уже долгое время применялась в СУБД разных производителей. В дополнение к расширению функциональности инструкции CREATE TABLE LIKE, позволяющей копировать умолчания столбцов и столбцы идентичности из таблицы-источника, в SQL:2003 была введена инструкция CREATE TABLE AS, позволяющая переименовывать исходные столбцы. Приведем пример. В приведенном выше примере создается пустая таблица CUSTOMER_PHONE с двумя столбцами CUST_NAME_S и PHONE_PHONENUM_S, имеющими те же типы данных, что и соответствующие столбцы исходных таблиц. Того же результата можно достичь с помощью следующего синтаксиса. Преимуществом синтаксиса CREATE TABLE…LIKE является то, В Microsoft SQL Server можно создать копию таблицы PAYMENT_TERMS с помощью следующего синтаксиса. С помощью приведенного синтаксиса создается локальная временная таблица. Если опустить символ решетки, таблица payment_terms2 будет создана как постоянная. Для создания пустой таблицы в Microsoft SQL Server можно использовать тот же прием, что и в Oracle, — вставку в предложение where заведомо ложного условия. Некоторые реляционные таблицы могут быть довольно большими, а запросы к ним — обрабатываться длительное время. Даже если созданы все необходимые индексы, а база данных хорошо спроектирована, некоторым запросам все равно придется выполнять полное сканирование таблицы, при котором каждая запись проверяется на наличие заданного значения. Особенно это касается случаев, когда извлекаемые записи консолидируются с помощью предложения group by, в котором используются итоговые функции.