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

Прием параметров и запись во временную таблицу

10.03.2024, 13:57. Показов 1339. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня, помогите разобраться.
В mssql создал хранимую процедуру, которая осуществляет прием параметров из power shell. power shell в донном случае мается файлами, парсит их и передает в sql. В связи с тем, что на PS я не хочу создавать никаких таблиц (сильно тормозят процесс), я передаю в sql параметры по одной "строчке" для будущей временной таблицы sql. То есть в PS циклом перебираются файлы, в свою очередь файлы циклом(ами) так же перебираются, хватаются нужные значения, собираются в хэштабличку и сразу же отправляются в SQL, и тд. То есть в скуль приходит за одну итерацию одна строчка для заполнения временной таблицы. На данном этапе все хорошо.
Но, мне нужно уже на стороне sql произвести некие агрегации/группировки итд, эти манипуляции мне нужно делать в отношении временной таблицы, которая ПОЛНОСТЬЮ наполнена из исходящего файла. То есть распарсиваем файл, передаем его в скуль, и только когда файл кончился и шелл переходит к следующему файлу, скуль должен начать свои манипуляции с данными.
И вот вопросы, как на стороне sql понять, что файл кончился и можно заняться группировками. И еще вопрос, если шелл начнет передвать параметры следующего файла раньше чем скуль закончит свою работу с первым?

Добавлено через 9 минут
Я тут подумал, что можно передавать еще одним параметром и имя файла, чтобы уже в скуле писать сразу все файлы во временную и готовую таблицу группировать, в том числе в разрезе имени фала. Это вариант. Но в отношении разных файлов, нужен свой подход по группировке, но в принципе это тоже не проблема. В общем вопрос таков: это единственный вариант, или есть какие то еще подходы?

Добавлено через 51 минуту
Ну хорошо, передам я имя файла, а как я пойму что все файлы кончились в парсере, и моя времянная полностью заполнена?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2024, 13:57
Ответы с готовыми решениями:

Запись строк во временную таблицу из физической
Привет всем. Ребята, нужна помощь. Тестирую момент копирования записей из физической таблицы во временную: База SQL Server...

Помещение во временную таблицу
ВЫБРАТЬ Номенклатура, СУММА(Количество) ПОМЕСТИТЬ ДокТЧ ИЗ Документ.Расходная.Товары ГДЕ НЕ Номенклатура.Услуга И Ссылка =...

Из cte во временную таблицу
Здравствуйте! Есть такой SQL-запрос drop table if exists temp_table; with cte_table as ( select *

22
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
12.03.2024, 10:14  [ТС]
Студворк — интернет-сервис помощи студентам
uaggster, Имеете в виду создавать временную таблицу вообще не в этой хранимке? Создавать хранимку для создания временной таблицы?
А что тогда является паттерном для контроля существования временной таблицы?
0
1308 / 362 / 98
Регистрация: 14.10.2022
Сообщений: 1,106
12.03.2024, 10:34
Временные таблицы имеют видимость примерно как переменные в обычном программировании внутри модуля.
См. пример:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Use tempdb
Go
 
Create proc a as
Begin
Set nocount on;
 
Create table #t (i int not null identity(1,1) primary key Clustered);
 
insert into #t default values;
 
Select * from #t
End
 
Go
Create proc b as
Begin
Set nocount on;
 
insert into #t default values;
 
Select * from #t
End
 
Go
 
Create proc c as
Begin
Set nocount on;
 
if OBJECT_ID('tempdb..#t') is not null Drop table #t;
 
End
 
Go
 
Create table #t(a varchar(100) DEFAULT('b'));
insert into #t(a) values ('a')
Select * from #t;
go
exec b;
go
exec a;
go
exec c;
go
Select * from #t;
go
 
drop proc a, b, c;
Go
1
0 / 0 / 0
Регистрация: 10.02.2024
Сообщений: 122
12.03.2024, 12:40  [ТС]
uaggster, Спасибо, очень помогло.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2024, 12:40

Добавление столбца во временную таблицу
Всем привет. Имеется код T-SQL в котором я копирую данные из Table1 в #TempTable: DROP TABLE #TempTable SELECT TOP(0) * INTO...

Обработку запроса во временную таблицу
Доброго дня, форумчане! Каким образом можно скинуть результат запроса, предварительно обработав (каким образом см. ниже), вывести...

Из формы сделать временную таблицу
В базе данных есть форма, в которой отображаются поля со значениями из разных связанных таблиц. Нужно в этой форме реализовать кнопку...

Из временной таблицы в временную таблицу
Добрый день, есть функция, в нем создаются временные таблицы. Есть временные таблицы А, В. Нужно Создать временную таблицу С из данных А и...

поместить во временную таблицу как?
хочется красоты временную табличку создать declare @t table ( id int, time datetime, val int ) insert into @t values (...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru