Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 52 53 54 55

Открыть новую тему     Написать ответ в эту тему

Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MICROSOFT SQL SERVER
 
тема посвящена выяснению ответов на вопросы, касающихся установки, функционирования и использования Microsoft SQL Server; также обсуждаются вопросы, касающиеся использования T-SQL (диалект SQL-языка, используемого в этой версии сервера)
 
популярные ответы на популярные вопросы "где скачать?" и "чем сломать?" можно найти здесь

 
 
Официальная документация:
SQL Server 2005 Books Online (original/english, 135MB, september 2007);
SQL Server 2005 Books Online (перевод/русский, 148MB, январь 2009);
 
 
Официальные обновления:
[для версий, начиная с 9.0.3042] / [полный перечень обновлений / зеркало]
03/06/2007: KB933508 (9.0.3042 > 9.0.3050);
04/03/2007: KB934458 (9.0.3050 > 9.0.3054);
04/03/2007: KB934459 (9.0.3054 > 9.0.3159);
06/28/2007: KB936305 (9.0.3159 > 9.0.3175);
 
 
Альтернативные источники информации:
sql.ru - очень полезный ресурс с говорящим за себя названием; пожалуй, лучший (если не единственный) на просторах ru'нета; кроме форумов есть большая подборка статей, FAQ, и прочее.

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 11:49 18-07-2003 | Исправлено: niichavo, 16:13 02-04-2010
counsellor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что значит "не запускаются скрипты"?
 
Какие скрипты?
В чём запускаете?
Какие ошибки?
 
Учитесь задавать вопрос подробно!

Всего записей: 17 | Зарегистр. 30-12-2005 | Отправлено: 11:57 23-07-2008
Boxcep

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача на мой взгляд не сложная, но в силу не опытности в сфере SQL запросов адресую этот вопрос знатокам и просто любителям.  
Есть склад А, у которого бывает и приход и расход. Если на склад А делается приход, то кроме всех параметров также указывается партнер, который поставляет эту продукцию. Потом с этого склада производится расход. В конце месяца нужно сделать отчет по расходу всей продукции определенного (конкретного) партнера. Партнер всегда будет одним и тем же!
Имеется база данных на sybase. Нужно создать запрос который бы выбирал из базы данных расходы, которые соответствуют этому партнеру. Другими словами: на складе имеется много ТМЦ, но нам нужен расход именно тех ТМЦ, партнер которого является допустим «ООО Роснефть».
Я знаю, что ни указал разные тонкости, т.к. не знаю какие именно тонкости нужны. Так что спрашивайте.

Всего записей: 293 | Зарегистр. 16-12-2006 | Отправлено: 16:31 28-08-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Boxcep, тебе нужно написать SQL запрос? Судя по лексике, ты скорее не программист, а консультант хотя могу и ошибаться. Чтобы написать запрос, нужно хотя бы знать структуру данных - какие таблицы, где что хранится.
 
Если есть только проводки, нет таблицы остатков скажем - то нужно лишь пройтись по проводкам аггрегирующим запросом по кол-ву с фильтром по партнеру и группировкой по коду ТМЦ.
 
И еще - это топик по конкретной СУБД, а не по SQL в общем, несколько промахнулся, стоит попробовать поискать получше или создать новый топик, а не продолжать здесь.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 17:18 28-08-2008
andrewbobjiljov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Используется MSSQL 2005. При залогиневании (select) пользователя происходит проверка не забанен ли он, и если он забанен, то проверяется не истек ли срок бана (еще один select из таблицы банов). Можно ли как-либо решить проверку истечения срока бана на стороне sql сервера? Насколько я знаю, на select триггер не повесишь, но может быть есть какие либо обходные пути?

Всего записей: 28 | Зарегистр. 21-07-2006 | Отправлено: 20:42 09-09-2008
Kott



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А чем не подходит хранимая процедура - проверяющая не забанен ли пользователь и не истек ли срок бана? Причем тут триггеры?

Всего записей: 161 | Зарегистр. 12-12-2003 | Отправлено: 21:23 09-09-2008
andrewbobjiljov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kott, хранимая процедура это довольно удачное решение. Но мне хотелось, что бы при обращениях к таблице происходила проверка истек ли бан. Хотя сейчас я понимаю, что самым лучшим решение все же будет хранимая процедура, так как даже если бы можно было повесить триггер на select, то триггер вызывался бы слишком часто.

Всего записей: 28 | Зарегистр. 21-07-2006 | Отправлено: 21:40 09-09-2008
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
andrewbobjiljov
Да я собственно большой необходимости и в хранимой процедуре не вижу. Почему бы при select инфы о юзере, не джойнить таблицу банов и не делать выборку дополнительного вычисляемого поля-флага (с помощью CASE и GETDATE()), показывающего, можно ли юзеру уже логиниться.
 
Добавлено:
И, кстати, вопрос: раз, если я правильно предполагаю, в таблице банов только лишь ссылка на юзера и время бана, то почему бы не перенести время бана в саму таблицу юзеров и не избавиться от таблицы банов? Если там есть еще инфа, то нет вопросов.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 23:04 09-09-2008 | Исправлено: EZH, 23:09 09-09-2008
andrewbobjiljov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
В таблице банов храниться еще дополнительная инфа, кто и когда наложил бан, когда закончиться, кем снят и тд. Сам бан храниться в инфе о пользователе. В принципе вариант с select с join довольно хорош. Но тогда уж можно и хранимую процедуру задействовать. Кроме сайта, которым я собственно и занимаюсь, есть еще программный клиент к БД. Поэтому мне хочется, что бы как можно больше действий были на стороне сервера.

Всего записей: 28 | Зарегистр. 21-07-2006 | Отправлено: 23:48 09-09-2008
NiiiiL

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача: каждый день в определенное время копировать базу данных на другой сервер с тем же ms sql.  
Проблем с копированием на локальный сервер не возникает.  
Буду очень признателен, если кто-нибудь сможет помочь. Спасибо.

Всего записей: 5 | Зарегистр. 02-05-2008 | Отправлено: 11:11 11-09-2008
Kott



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В таблице банов храниться еще дополнительная инфа, кто и когда наложил бан, когда закончиться, кем снят и тд. Сам бан храниться в инфе о пользователе. В принципе вариант с select с join довольно хорош. Но тогда уж можно и хранимую процедуру задействовать. Кроме сайта, которым я собственно и занимаюсь, есть еще программный клиент к БД. Поэтому мне хочется, что бы как можно больше действий были на стороне сервера.

ИМХО выделение отдельной таблицы для банов нецелесообразно.

Всего записей: 161 | Зарегистр. 12-12-2003 | Отправлено: 14:16 11-09-2008
apnss

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ИМХО выделение отдельной таблицы для банов нецелесообразно.

несогласен  
 
отдельная сущность должна храниться в отдельной таблице (или группе таблиц)  
 
храня ее в данных пользователях теряются данные о предыдущих банах  

Всего записей: 708 | Зарегистр. 26-02-2002 | Отправлено: 00:08 13-09-2008
Kott



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Где у меня сказано что статус пользователя надо хранить в данных пользователя? Выделяется отдельная таблица статусов пользователя. С чегог вы взяли что "бан" - это какой то особый статус?

Всего записей: 161 | Зарегистр. 12-12-2003 | Отправлено: 00:21 13-09-2008
apnss

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А где сказано что такое бан и что такое статус ?  
и с какой стати "мягкое" и "холодное" объединяется в одну сущность ?  
 
в моем понимании статус:  новичек, юзер, опытный юзер, вуду  
а бан - это не статус а действие  
 
и если статус по сути подразумевает ступенчатый переход от одного уровня к другому то бан никак в эту последовательность не вписывается (это лишнее ответвление).  Там где лишее ответвление - возможные  потенциальные трудности с реализацией и гибкостью схемы БД  
 
Если не правильно понял то сорри, хотя навскидку вроде правильно понял.  

Всего записей: 708 | Зарегистр. 26-02-2002 | Отправлено: 00:38 13-09-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andrewbobjiljov, ничего удачней хранимой процедуры не получится, а удобную логику можно реализовать уже в приложении, в котором используются данные с MSSQL.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 17:32 14-09-2008 | Исправлено: eLLoco, 20:03 14-09-2008
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andrewbobjiljov
я бы заменил бан в таблице с инфой о пользователе на поле ЛогинРазрешенС типа datetime, а таблицу с банами использовал бы только для аудита/хранения истории. Тогда отпадает необходимость каждый раз проверять истечение срока бана.

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 11:59 15-09-2008
ONIX2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья!
 
Помогите пожалуйста человеку без опыта работы с сабжем.
 
Имеется база данных (db) в ней множество таблиц, одна из которых представляет большую ценность (tab1). Хочу попробовать создать точно такой же структуры и с точно такими же данными таблицу (tab2). Затем я смогу в ней немного изменить данные (это планируется с помощью экспорта-импорта в текстовый файл, т.к. так проще будет обработать большой массив данных).
 
После изменения я хочу создать скрипт, который обмениваект имена таблиц tab1 и tab2. И так один-другой раз запуская, хочу добиться того, чтобы прикладные программы брали данные то из правильной таблицы, то из моей редактировнной, как будто ничего и не было изменено.
 
Помогите пожалуйста:
Как можно сделать дубликат таблицы в базе?
Как написать скрипт, который сможет выполнять такое переименование?
 
Большое спасибо за ответ!

Всего записей: 75 | Зарегистр. 04-05-2006 | Отправлено: 11:53 24-09-2008
Kott



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дубликат таблицы можно сделать при помощи  
SELECT * INTO new_table FROM old_table
для изменения таблиц используйте либо АДО-систему либо вызов АПИ BDE

Всего записей: 161 | Зарегистр. 12-12-2003 | Отправлено: 12:33 26-09-2008
ONIX2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kott
 
Большое спасибо за помощь чайнику.
А скажите, разве переименовать old_table в new_table и наоборот с помощью скрипта не получится?

Всего записей: 75 | Зарегистр. 04-05-2006 | Отправлено: 15:54 26-09-2008
Kott



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробуйте ALTER TABLE

Всего записей: 161 | Зарегистр. 12-12-2003 | Отправлено: 18:03 26-09-2008
naPmu3aH



Из лесу вышел
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ONIX2
EXEC sp_rename 'Old_TableName', 'New_TableName'

----------
Ну і хто тебе кликав, чому ти прийшла, Стара проститутка, сука-війна? Хто тобі платить за наші тіла? Скільки ще тобі треба, яка їх ціна?

Всего записей: 4642 | Зарегистр. 30-10-2001 | Отправлено: 20:25 26-09-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 52 53 54 55

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru