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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exec xp_fileexist '‪C:\Users\synthe\Downloads\Книга1.xlsx'
Сиквел упорно не видит файл

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 17:39 24-04-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
бывают проблемы с кодовой таблицей, попробуй так:
Код:
exec xp_fileexist N'C:\Users\synthe\Downloads\Книга1.xlsx'

можно так-же проверить есть-ли у учётки под которой команду выполняет SQL Сервер доступ к данному файлу/директрии

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 18:18 24-04-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vikkiv
сработало
А по поводу усечения мой вопрос выше
 
Сообщения
Ошибка 0xc020901c: Задача потока данных 1: Ошибка Источник - vehicle$.Выходы[Выход источника "Excel"].Столбцы[URL] в Источник - vehicle$.Выходы[Выход источника "Excel"]. Возвращено состояние столбца: "Текст был усечен, или один и более символов не имеют соответствия в целевой кодовой странице.".
 (Мастер импорта и экспорта SQL Server)
 
vikkiv
можешь глянуть, чем столбец URL так злит сиквел.
http://rgho.st/7dtfMnCt8
у меня nvarchar(max) все равно что то он усекает и я не могу понять что и импортировать не могу.

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 19:29 24-04-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
импортировать-то можешь скорее всего, наверное там есть игнорирование ошибок (т.е. данные импортируются но в немного изменённом виде - потом можешь сравнить с источником в том-же Excel - иногда {!!} эти изменения не принципиальны, т.е. на суть данных не влияют или в твоём случае url не повредят), так-же пробуй разные варианты, неполный список: конвертируй в другой формат, глянь продвинутые настройки драйвера, измени тип данных, попробуй другую коллацию (отдельно в источнике, потом отдельно в целевой таблице, потом совместно), предварительно подчисти источник - тут в основном эксперементально перебором решается .. вообще импорт из Excel ещё то развлечение - сюрпризы по определению типа данных одно из топовых приключений.. в конце-концов там наверное пишет на какой строке сбой, я точно таким заниматься не буду т.к. слишком широкий спектр возможных проблем - да и на моей машине поддержки не английской кодировки нет.

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 07:26 25-04-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ок, поиграюсь

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 11:27 25-04-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del
 
Добавлено:
Как в сиквеле, результаты соединения двух таблиц записать в новую, но не временную
dbo.new

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 18:28 25-04-2017 | Исправлено: Fsp050, 19:32 25-04-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050 в общем случае если не существует:
Код:
select a.x,b.y into dbo.new from a left join b on a.id=b.id
если уже есть

Код:
insert into dbo.new select a.x,b.y from a left join b on a.id=b.id
с переменной:
Код:
declare @c table(id tinyint,header varchar(4))
insert into @c select a.id,b.d from(values(1),(2))a(id)
left join(values(1,'x'),(2,'y'),(3,'z'))b(id,d)on a.id=b.id
select*from @c
с временной несуществующей:
Код:
select a.id,b.d into #t from(values(1),(2))a(id)
left join(values(1,'x'),(2,'y'),(3,'z'))b(id,d)on a.id=b.id
select*from #t;drop table #t
с временной существующей:
Код:
create table #t(id tinyint,header varchar(4))
insert into #t select a.id,b.d from(values(1),(2))a(id)
left join(values(1,'x'),(2,'y'),(3,'z'))b(id,d)on a.id=b.id
select*from #t;drop table #t

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 21:15 25-04-2017
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
ты имеешь виду объединение с помощью union или join?  

Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 12:22 26-04-2017 | Исправлено: SIgor33, 13:45 26-04-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят , а как  мне добавить столбец из одной таблицы, в другую, по ключу
пример
 
т.е. я создал таблицу А, туда уже записаны какие то данные
id, x1,x2,x3
пришли новые данные
id,x4 в таблице B  
как x4 из b вставить последний в A, по ключу id
 
т.е здесь наверное даже больше переместить  но по совпадению ключа

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 17:57 27-04-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
Сами то поняли что написали?
1. Сильно "не по-русски"
2. Смысл отсутствует
3. Задача однозначно не сформулирована
...
Можно только посоветавать - смотреть в сторону триггеров.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 21:48 27-04-2017 | Исправлено: Alexzzy, 21:51 27-04-2017
llleopevzner

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

Цитата:
Можно только посоветавать - смотреть в сторону триггеров

Триггер - зло. В силу неявного использования. Отлично подходит для логирования или проверки данных, но для изменений, я бы не стал их советовать. Тем более, на таком уровне...

Всего записей: 32 | Зарегистр. 11-12-2005 | Отправлено: 09:55 28-04-2017
Dronton2

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

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 10:11 28-04-2017 | Исправлено: Dronton2, 10:12 28-04-2017
llleopevzner

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

Всего записей: 32 | Зарегистр. 11-12-2005 | Отправлено: 10:34 28-04-2017
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
больше похоже на попытку на каждую заливку создать новую колонку в таблице A (типа, сводная таблица).
При следующей заливке - будет колонка x5 и т.д.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 11:15 28-04-2017 | Исправлено: Dronton2, 11:17 28-04-2017
llleopevzner

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
Есть великолепная книжка Мартина Грубера - Введение в SQL. Самые основы крайне простым языком. Я бы посоветовал с этого ознакомиться, перед тем, как начинать что-то кодить уже. Переделывать, как правило, хлопотнее.

Всего записей: 32 | Зарегистр. 11-12-2005 | Отправлено: 11:27 28-04-2017
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
у тебя при приходе значения в таблицу В должен создаваться новый столбец в таблице А это бред какой-то или структура у тебя определена уже тогда update

Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 12:13 28-04-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я ясно описал вопрос
таблица А -содержит поля - id, х1,х2,х3 . Тут ясно?
таблица В содержит поля id,x4 тут ясно?
Нужно соединить или переместить х4 из В в А, строки должны совпасть по ключу- id
Ребят какой момент не ясен то

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 13:27 28-04-2017
llleopevzner

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

Цитата:
Нужно соединить или переместить

Так соединить или переместить? Это какбэ разные вещи )
И решаются по разному.
 
+ а что делать, если не строки должны совпасть по ключу- id ?

Всего записей: 32 | Зарегистр. 11-12-2005 | Отправлено: 13:35 28-04-2017 | Исправлено: llleopevzner, 13:38 28-04-2017
Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
llleopevzner
переместить все-таки
нет ключ совпадает по всем строкам  
нет значений ключа, который в двух таблах разный

Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 13:55 28-04-2017
llleopevzner

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fsp050
 
1. заальтерить таблицу A - добавить поле x4
2. открыть курсор C select x1,x4 from a,b where a.id=b.id
3. пробежаться по этому курсору и сделать update a set x4=C.x4 where a.id=C.id

Всего записей: 32 | Зарегистр. 11-12-2005 | Отправлено: 14:18 28-04-2017
Открыть новую тему     Написать ответ в эту тему

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