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

Временные таблицы на MS SQL Server 2000 и все все все... (+)

30.11.2007, 18:12. Показов 3396. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начну по порядку.
Пишу клиента на VB. Сервер - MS SQL Server 2000.
Так вот хочу я создать некий отчет. Данные, нужные для отчета собираю в View, НО мне еще нужно для отчета добавить пару строк.
Я переношу данные во временную таблицу (SELECT * INTO ##tblReport FROM viewReport)
Добавляю столбцы (ALTER TABLE ##Report ADD AmountNDS MONEY)
Произвожу расчеты (UPDATE ##Report AmountNDS=.............)
Но дело в том, что когда я выполняю это дело в Query Analyzer, то все ok.
Но как только я помести код в хронимую процедуру, то получил ошибки типа нельзя делать ALTER TABLE или поле AmountNDS не существует и т.п.

ПОМОГИТЕ.
P.S. Хотя хочу сказать, что приведенный пример не догма, может я ошибаюсь в корне... Научите, если че не так.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2007, 18:12
Ответы с готовыми решениями:

sql server 2000 + связанные таблицы
Есть ли возможность создавать связанные таблицы sql server? если да то: 1.Как создавать связанные таблицы на sql server? 2. как...

Как удалить из таблицы SQL все уникальные строки?
Posovetujtye kak udalit iz tablizy vse ne unikalnyje stroki bez udalenija tablizy

Напишите SQL код, который покажет все таблицы в базе данных, содержащие в имени слово consultant
Есть задание: Напишите sql код, который покажет все таблицы в базе данных, содержащие в имени слово consultant, схему в которую входит...

4
0 / 0 / 0
Регистрация: 29.06.2007
Сообщений: 50
30.11.2007, 21:41
Ну тут появляется сразу несколько советов:
1) лучше не использовать глобальные временные таблицы - в них не будет нужды, если отчёт будет выдаваться хранимой процедурой (ХП).
2) изменять структуру таблицы в ХП нехорошо. Вместо этого лучше сразу создавать таблицу с нужным количеством полей, а не добавлять их по ходу. Это и быстрее. Или можно записывать результаты запросов во временную таблицу (не глобальную!) а затем использовать её в запросе для формирования дополнительных полей.
3) в принципе рекомендуется создавать таблицы с помощью create table, а не select into. Дело в том, что при select into БД tempdb может блокироваться на время запроса, что может длиться довольно долго. create table работает быстрее.

Успехов! Максим
0
SIR
02.12.2007, 10:09
Я тоже так и думал, что нужно сначало создавать временную таблицу, а уж потом в нее данные передавать, НО дело в том, что INSERT INTO мне делает таблицу с нужными полями из исходных таблиц. Хотя если можно делать CREATE TABLE со структурой как у существующих таблц, то КАК ЭТО ДЕЛАТЬ?????
Спасибо.
0 / 0 / 0
Регистрация: 29.06.2007
Сообщений: 50
03.12.2007, 14:31
'CREATE TABLE со структурой как у существующих таблиц' сделать нельзя. Но разве трудно описать все поля создаваемой временной таблицы?
Этот способ имеет вдобавок то преимущество, что получается полный контроль за структурой таблицы - типом данных (включая длину), нал/ненал, первичным ключом. select into определяет длину и тип сам, часто не лучшим образом.
Но в принципе, способ создания временной таблицы не самая принципиальная вещь, важнее остальные мои замечания.
0
0 / 0 / 0
Регистрация: 15.11.2007
Сообщений: 45
03.12.2007, 14:55
Можно так:
SELECT viewReport.*, 0.00 as new_field INTO ##tblReport FROM viewReport

но тут как справедливо заметил maximf могут будь проблемы с типом данных нового столбца
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2007, 14:55
Помогаю со студенческими работами здесь

Если создавать БД на SQL server 2008 надо делать все на одном компьютере, или же можно сделать на другом потом через флешку копировать
Такой вопрос ребя! Если создавать БД на SQL server 2008 надо делать все на одном компьютере, или же можно сделать на другом потом через...

Даны таблицы А[1..n] ,В[1..m]. Построить таблицу С в которой сначала размещаются все элементы А, затем все элементы таблицы В
кто сможет решите: Даны таблицы А ,В. Построить таблицу С в которой сначала размещаются все элементы А, затем все элементы таблицы В

Удалить SQL server и все его следы
Как это можно сделать ? После удаления через appwiz.cpl новая версия не хочет ставиться - инсталлер ругается на остатки предыдущих.

Перенести все DataTable из DataSet в одну таблицу Sql Server
Здравствуйте. У меня имеется DataSet, который имеет всегда разное количество DataTable. С помощью данного кода: using (SqlConnection...

Ввести строку В разных строках распечатать: все маленькие буквы, все большие, все цифры
Помогите пожалусто Нужно сделать на Assembler программу принимающую буква пока до тех пор пока не примет Z или z В разных строках...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
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. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru