|
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. Хотя хочу сказать, что приведенный пример не догма, может я ошибаюсь в корне... Научите, если че не так. |
|
| 30.11.2007, 18:12 | |
|
Ответы с готовыми решениями:
4
sql server 2000 + связанные таблицы Как удалить из таблицы SQL все уникальные строки? Напишите SQL код, который покажет все таблицы в базе данных, содержащие в имени слово consultant |
|
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
|
|
| 03.12.2007, 14:55 | |
|
Помогаю со студенческими работами здесь
5
Если создавать БД на SQL server 2008 надо делать все на одном компьютере, или же можно сделать на другом потом через флешку копировать
Удалить SQL server и все его следы Перенести все DataTable из DataSet в одну таблицу Sql Server Ввести строку В разных строках распечатать: все маленькие буквы, все большие, все цифры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
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
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|