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

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

30.11.2007, 18:12. Показов 3346. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru