Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Microsoft SQL Server

Автор: volser
Дата сообщения: 07.10.2009 16:18
bigsloth
А если в таблице нет кластерного индекса?
Автор: bigsloth
Дата сообщения: 08.10.2009 04:13
volser
Тогда в куче, да.
Автор: mdid
Дата сообщения: 19.10.2009 11:34
sql 2008
есть ли способ не делая два запроса...получить ID только что добавленного элемента?
добавляю через ADO
Автор: volser
Дата сообщения: 19.10.2009 11:46
mdid
ID что это за столбец?
Автор: mdid
Дата сообщения: 19.10.2009 11:49
идентификатор первичный ключ
нашел уже...после запроса дописать

Код: SELECT @@IDENTITY AS 'Id';
Автор: counsellor
Дата сообщения: 19.10.2009 12:47
Лучше пользоваться SCOPE_IDENTITY()
Автор: Fire Lizard
Дата сообщения: 21.10.2009 12:24
Добрый день

Разработал тут утилиту для MS SQL Server

Что умеет:

1. Поиск объектов БД (таблиц, процедур, индексов) по имени
2. Поиск слов в теле процедур и DDL (насколько я знаю последнее не умеет ни одна из существующих ныне утилит). Например можно задать искать поле например currency и увидеть в каких таблицах оно присутствует и в каких функциях и процедурах фигурирует и для каких индексов используется.

Для работы требуется иметь NT-логин в БД (SQL-логин планирую сделать позже)

EMS2 (версия которая требует .NET Framework 2.0)

http://upload.com.ua/get/901113795/

EMS3 (версия которая требует .NET Framework 3.5 т.к. переписана на WPF)

http://upload.com.ua/get/901113797/

На данный момент две версии одинаковы по функционалу но развиваться будет только EMS3

Пользуйтесь на здоровье!

Буду какие замечания пишите в этой теме.

Заранее извиняюсь если веткой ошибся.
Автор: SIgor33
Дата сообщения: 22.10.2009 14:42
подскажите какие ключи использовать чтобы установить mssql express из командной строки при этом задать имя сервера пас для sa и путь установки
Автор: naPmu3aH
Дата сообщения: 24.10.2009 12:21
SIgor33
http://msdn.microsoft.com/en-us/library/ms144259.aspx
Автор: SIgor33
Дата сообщения: 26.10.2009 10:20
naPmu3aH
Спасибо все сделал. Только при установке одного файла спрашивает файл protect хотите заменить. А не знеете какой параметр отвечает за то чтобы лишних вопрос не задавалось системой
Автор: naPmu3aH
Дата сообщения: 26.10.2009 17:57
SIgor33

Цитата:
Только при установке одного файла спрашивает файл protect хотите заменить. А не знеете какой параметр отвечает за то чтобы лишних вопрос не задавалось системой

Ну если оно это спрашивает даже в quiet mode (/q) - то видимо нет такого параметра.
В принципе логично, что тихая установка предназначена для установки SQL Server Express с командной строки, а не переустановки...
Автор: SIgor33
Дата сообщения: 29.10.2009 10:23
naPmu3aH
И я на том порешил пусть пользователь при установки хочет подверждает хочет отказывается. Еще раз спасибо
Автор: mdid
Дата сообщения: 02.11.2009 09:05
sql 2008
помогите с запросом плз
есть таблица с товарами их количество цена и тд..так вот помогите выбрать из этой таблицы в одном запросе все поля +количество на начальную дату и количество на конечную дату
спасибо
Автор: counsellor
Дата сообщения: 02.11.2009 09:14
Интересно, только мне ничего не понятно, или...?

Структура таблицы какая?! Список операций прихода/расхода или справочник товаров?
Автор: mdid
Дата сообщения: 02.11.2009 09:21
Имя поля Тип данных
ID int
Фирма varchar(100)
Место хранения varchar(100)
ТМЦ varchar(150)
Контрагент varchar(100)
Документ varchar(150)
Номер varchar(15)
ID_Документа varchar(100)
Количество float
Цена приходная money
Сумма money
НДС varchar(20)
Движение smallint
Дата date
Вид varchar(150)
Цена заводская money
Цена оптовая money
Цена розничная money
Производитель varchar(150)
Единица varchar(50)

это таблица партий товаров приход в количестве идет с + расход с -
Автор: BlackVetal
Дата сообщения: 03.11.2009 05:17
mdid
Такой вариант:

Код:
(SELECT ТМЦ, SUM(Количество)
FROM <ТвояТаблицаТМЦ>
WHERE Дата < @ДатаНачала)
UNION ALL
(SELECT ТМЦ, SUM(Количество)
FROM <ТвояТаблицаТМЦ>
WHERE Дата < @ДатаКонец)
Автор: mdid
Дата сообщения: 03.11.2009 09:09
запрос

Код:
(SELECT ТМЦ, SUM(Количество) FROM Reg_GroupOfGoods
WHERE Дата < '01.01.2009')
UNION ALL
(SELECT ТМЦ, SUM(Количество) FROM Reg_GroupOfGoods
WHERE Дата < '03.01.2009')
Автор: counsellor
Дата сообщения: 03.11.2009 10:12

Код: SELECT [ТМЦ], SUM([Количество])
FROM Reg_GroupOfGoods
WHERE Дата < '01.01.2009'
GROUP BY [ТМЦ]
UNION ALL
SELECT ТМЦ, SUM([Количество])
FROM Reg_GroupOfGoods
WHERE Дата < '03.01.2009'
GROUP BY [ТМЦ]
Автор: mdid
Дата сообщения: 03.11.2009 11:18
смотрите...есть товар..мне нужно составить запрос таким образом что бы в одном запросе(дабы упростить его вывод в клиенте) вывести остаток по количеству (Количество float )+все остальные поля на начальную дату+документы между интервалами...ну и остаток то уже я вычислю....спасиб за запрос..что то уже близко
Автор: volser
Дата сообщения: 03.11.2009 11:30
mdid
Приведите кусок реальных данных и итоговую таблицу, которую нужно получить.
Автор: counsellor
Дата сообщения: 03.11.2009 13:07

Цитата:
вывести остаток по количеству (Количество float )+все остальные поля на начальную дату


Так сделать нельзя.
Автор: mdid
Дата сообщения: 05.11.2009 08:17
еще один вопрос...есть 2 теблицы в одной товары в другой цена
хочу сделать выборку типа

Код:
select * from TBofGoodsIncoming as t,valuation as v
where t.id_документа=32 and v.id_документа=32
Автор: BlackVetal
Дата сообщения: 05.11.2009 09:54
mdid
я тебе по первому вопросу вот что посоветую:
1. создаем временную таблицу
2. делаем выборку остатков на начальную дату, сохраняем во временную таблицу.
3. делаем выборку документов во временную таблицу.
4. делаем выборку остатков на конечную дату во времнную таблицу.
5. селектим все данные из временной таблицы.
Но, это "плохой вариант" с точки зрения философии и практики - лучше выводить все разными запросами.

по второму вопросу: (ну это вообще-то касается всех запросов ...) для начала не ленись выводить список полей (вместо звездочки). Дальше - distinct выводит только уникальные строки - по одному полю он не работает. Дальше - попробуй использовать "group by" или еще одна конструкция селекта это "over cast" (если память не изменяет) ...
Автор: mdid
Дата сообщения: 05.11.2009 10:01
ну все поля удобно это когда их 5-10...а не 20-30..ща попробую второй вариант..пасиб
Автор: volser
Дата сообщения: 05.11.2009 11:05
mdid
Почитайте наконец книги по соединению таблиц. То что вы хотите невозможно в принципе. Если во второй таблице есть хотя бы две цены одного товара то получит удваивание записей по этому товару.
Автор: BlackVetal
Дата сообщения: 05.11.2009 11:37
mdid

Цитата:
ну все поля удобно это когда их 5-10...а не 20-30..

это только кажется что не удобно ... и попервости будет муторно. Это как с переменными - когда пишеш полностью их название, а не аля "x, y и т. д."
Да только обратил внимание на запрос твой с 2мя таблицами:

Код:
SELECT t.*, v.*
FROM TBofGoodsIncoming as t INNER JOIN valuation as v ON TBofGoodsIncoming.id_документа = valuation.id_документа
WHERE TBofGoodsIncoming.id_документа = 32
Автор: isem
Дата сообщения: 06.11.2009 11:52


Цитата:
подскажите плз как правильно выбрать без дублирования..знаю вопрос заезженный но голова уже варит плохо


Вместо * пиши перечень полей.
потом весь этот перечень включи в Group BY.

дублей быть не должно
Автор: SIgor33
Дата сообщения: 06.11.2009 13:12

Цитата:
подскажите плз как правильно выбрать без дублирования..знаю вопрос заезженный но голова уже варит плохо

еще один вариант используй
SELECT DISTINCT * from table
только учти если есть поля типа text image ругаться будет страшно
Автор: wpt
Дата сообщения: 07.11.2009 16:24
Я установил себе демку расчетной проги , базирующейся на Microsoft SQL 2005 Server , все прошло без проблем при установке, но вот когда открываю менеджер библиотек и пытаюсь создать новую базу-то комп сразу зависает. Приходится перезагружать. Там этот Microsoft SQL 2005 Server еще установлен и видимо он глючит, хотя я его правильно вроде установил без косяков , проблем не возникло. А потом минут через 10 гдето появляется сообщение что нет связи с сервером. - "DBNETLIB SQL-сервер не существует или отсутсвует доступ"
Тогда я поставил новую версию Microsoft SQL 2008 Server, но при установке появилось сообщение об ошибе:
Программа установки SQL Server обнаружила следующую ошибку. Не удается найти указанный файл. Код ошибки 0х84ВВ0001"
Помогите разобраться!
Автор: BlackVetal
Дата сообщения: 09.11.2009 05:52
wpt
Достаточно сумбурно описана проблема: вопервых нужно указать что за система у тебя, какую версию SQL server ставишь, полностью код ошибки ...
Возможно у тебя не запускается или еще что-то из-за какого-нить сервиса - либо остановлен либо отсутствует ...
На данный момент посоветую тебе почистить сначала систему от предыдущих версий SQL server и поставить версию "Express" (хоть 2005 хоть 2008) ...

Страницы: 1234567891011121314151617181920212223242526272829

Предыдущая тема: Генератор 10-ти разрядных ключей


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.