Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229

Удаление нескольких таблиц в SQL базе

04.07.2017, 03:04. Показов 3448. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток господа. Столкнулся с задачей удалить несколько таблиц в SQL базе. Данные по именам таблиц в базу отправляю в XML. Вот код функции в которой я пытался это сделать.

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@StocksTable nvarchar(MAX)
AS
    DECLARE @DATA xml = @StocksTable
    DECLARE @SQL nvarchar(70)
    SELECT 
        x.value('StockID[1]', 'uniqueidentifier') AS StockID, 
        x.value('StockName[1]', 'NVARCHAR(50)') AS StockName,
        x.value('MainStockID[1]', 'uniqueidentifier') AS MainStockID
    INTO #Stocks
    FROM @DATA.nodes('//DocumentElement/Stocks') t(x)   
    
    DECLARE @tempstockName nvarchar(70)
    SET @tempstockName = #Stocks.StockName + '_'+ CAST(#Stocks.StockID AS NVARCHAR(50)) +'_Message' 
    SET @SQL = 'DROP TABLE '+ QUOTENAME (@tempstockName)
    EXECUTE (@SQL)
Возможно вообще удалить таблицы по списку. Если нет тогда как правильно это делать.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2017, 03:04
Ответы с готовыми решениями:

Как создать SQL запрос к базе, для получения отчета из нескольких таблиц
Есть база в которой есть таблица продаж и таблица состав. Надо получить отчет за период от Data1 до Data2 учитывая, что 1. Если в...

Удаление записи из нескольких таблиц с использованием LEFT JOIN (MS SQL)
Добрый день! У меня в базе MS SQL связаны между собой 4 таблицы, связаны они по коду, мне необходимо удалить все строки из таблицы...

Удаление из нескольких таблиц
Есть таблицы user user_id INTEGER user_login VARCHAR group group_id INTEGER group_name VARCHAR

1
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
04.07.2017, 12:40
Лучший ответ Сообщение было отмечено Graf1385 как решение

Решение

Может я делал неправильно, но у меня получилось только курсором сделать это, через поля таблицы никак.
Но у меня таблиц немного.
Вернее как - я делаю выборку таблиц, созданных 2 дня назад - и удаляю их.
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
declare @tableName varchar(100)
    declare @sql varchar(max)
 
    DECLARE c CURSOR LOCAL FAST_FORWARD FOR 
       select distinct [name]
       FROM MODCONTRACTS.SYS.tables 
       WHERE type_desc='USER_TABLE' AND DATEDIFF(dd, [create_date], GETDATE()) > 3
 
       OPEN c
       FETCH NEXT FROM c INTO @tableName
 
       WHILE @@FETCH_STATUS = 0
       BEGIN
        set @sql = 'drop table [MODCONTRACTS].[dbo].['+ @tableName +']'
        exec (@sql)
        FETCH NEXT FROM c INTO @tableName
       END
    CLOSE c
    DEALLOCATE c
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.07.2017, 12:40
Помогаю со студенческими работами здесь

Удаление из нескольких таблиц
Не могу сообразить как сделать, чтобы запись удалялась сразу из нескольких таблиц. Помогите разобраться У меня есть таблица Resalt и...

Удаление записей из нескольких таблиц
Как сделать, чтобы запись удалялась сразу из нескольких таблиц. Помогите разобраться У меня есть таблица :base,ocenka1,student Я...

Удаление с нескольких таблиц SQLite
Имеется база данных из 4 таблиц. Требуется удалить по Названию теста полностью данный тест, т. е. Вопросы, Ответы, и стереть ИД с таблицы...

Запрос на удаление из нескольких таблиц
Хочу удалить в одном запросе записи из нескольких таблиц, но система требует указать из какой таблицы удаляются записи. Если удаляю...

SQL выборка из нескольких таблиц
Существует 2 таблицы, "result" и "sportsman", заполненные посредством "INSERT INTO". Необходимо Вычислить возраст спортсменов, которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru