Копия структуры таблицы11.02.2017, 20:22. Показов 6207. Ответов 23
Метки нет (Все метки)
Всем привет!
Подскажите, пожалуйста, есть ли такая штучка (например, ХП или что-то такое) в SQL Server, которая создает копию структуры имеющегося таблицы или поля таблицы? Например, вот такой код на одном из языке программирования: DATA: CCNAME TYPE T001-BUTXT, CCCURR TYPE T001. создает следующие объекты: строка: CCNAME TYPE T001-BUTXT создает переменную CCNAME с точно таким же типом данных как поле BUTXT в таблице T001 а строка: CCCURR TYPE T001 создает таблицу, которая полностью аналогична таблице T001 (со всеми полями, типами данных, индексами и т.д. и т.п.). Может быть есть такая ХП или функция в SQL Server ? Это нужно было для того, чтобы, например, не надо было бы принудительно создавать таблицу\табличную переменную CCCURR через CREATE TABLE (...) при вставке значений всех полей из таблицы T001. Например, есть таблица T001 с полями: IDT001 с типом данных INTEGER и поле BUKRS c типом данных NVARCHAR (4) Индексы в полях IDT001 и BUKRS. В таблице 10 строк с данными Теперь мне надо создать табличную переменную @lv_T001 точно такой же структуры. И для того, чтобы не писать код:
DATA: @lv_T001 TYPE T001. чтобы потом выполнить код:
0
|
|||||||||||
| 11.02.2017, 20:22 | |
|
Ответы с готовыми решениями:
23
Создание структуры Таблицы Копия структуры меняется при изменении оригинала |
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
||
| 11.02.2017, 20:59 | ||
|
получаешь скрипт создания таблицы и только имя меняешь и констрэйнты убираешь.
0
|
||
| 11.02.2017, 22:03 [ТС] | ||||||||
|
Например, скрипт для моей ХП могу взять вот от сюда:
0
|
||||||||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|
| 11.02.2017, 22:07 | |
|
в контекстном меню на таблице
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|||||||
| 11.02.2017, 22:15 | |||||||
0
|
|||||||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|
| 11.02.2017, 22:18 | |
|
0
|
|
| 11.02.2017, 22:21 [ТС] | |||
|
Я хотел узнать, в какой таблице в SQL Servere сохранен скрипт, который я написал, когда создавал таблицу T001 ? Например, когда создал ХП sp_price, скрипт для этой ХП сохранился в системной таблице syscomments. Так вот, в какой системной таблице хранится скрипт, который был написал когда создавалась таблице T001 ? Добавлено через 2 минуты Мне например, для того чтобы обработать 10 строк, нужно было временно строки из T001-BUKRS поместить во временную таблицу и дальше работать с этой временной таблицей... Поэтому не хотел создавать физическую таблицу, а потом DROP его...
0
|
|||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|
| 11.02.2017, 22:21 | |
|
Он скорей всего не хранится, а генерируется на основании данных, хранящихся в системных таблицах
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||
| 11.02.2017, 22:36 | ||
|
0
|
||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|
| 11.02.2017, 22:41 | |
|
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||
| 11.02.2017, 22:48 | ||
|
insert ... select и select ... into различаем? Или все едино?
0
|
||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|||
| 12.02.2017, 02:49 | |||
|
0
|
|||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
||
| 12.02.2017, 10:25 | ||
|
А скрипт создания таблицы всего этого лишен, поэтому хранить его в текстовом виде просто незачем. Тем более, что и редактирование первых - это изменение этого самого текста, а редактирование структуры таблицы - это куча разных разноплановых скриптов.
0
|
||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||
| 12.02.2017, 11:17 | ||
|
insert ... select - добавляет данные в существующую таблицу. select ... into - создает новую таблицу и добавляет в нее данные.
0
|
||
| 12.02.2017, 11:57 [ТС] | |||||||||||||
|
Скрипт для таблицы можно получить вот так:
0
|
|||||||||||||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|||
| 12.02.2017, 11:59 | |||
|
Добавлено через 2 минуты
0
|
|||
| 12.02.2017, 12:06 [ТС] | |||
![]() Идея была в том, что в теле ХП использовать табличные переменные, но чтобы не писать DECLATE @T001 TABLE (... и тут расписывать все 200 столбов...), а просто сослаться на таблицу T001 и всё. И тогда было бы здорово просто использовать эту табличную переменную. Но так как с табличной переменной не проканало, придется использовать глобальную временную таблицу через ## и добавлять столбец uniqueidentifier, чтобы идентифицировать записи конкретного пользователя. Так то так...
0
|
|||
|
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
|
|
| 12.02.2017, 12:17 | |
|
Понятно.
Только даже не представляю такую ХП и зачем в ней копия таблицы?
0
|
|
| 12.02.2017, 12:17 | |
|
Помогаю со студенческими работами здесь
20
полная копия таблицы Динамическое изменение структуры таблицы для организации древовиднойой структуры Массивы, структуры, таблицы. Признак конца таблицы Структуры в виде таблицы Изменение структуры таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|