Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как связать две таблицы (столбец типа uniqueidentifier-столбец типа xml)?

В одной таблице столбец типа uniqueidentifier, в другой - типа xml. Внутри xml-евского столбца такие данные:

<dictionary>
<item>
<key>
<string>MKSBGUID</string>
</key>
<value>
<string>740dc6b5-efae-4558-a226-656483b03dd7</string>
</value>
</item>
</dictionary>

Нужно связать эти две таблицы в запросе select. Как это сделать, учитывая тип xml?
Ответ:
seg856
a_voronin, да. В обеих таблицах эти значения уникальны.

---- если у вас одна запись(и один узел в xml) на каждый GUID в обоих таблицах то ничего множить НЕ ДОЛЖНО
CREATE TABLE #T(X XML,id int)
INSERT INTO #T (X,id) VALUES(N'<dictionary>
<item>
<key>
<string>MKSBGUID</string>
</key>
<value>
<string>740dc6b5-efae-4558-a226-656483b03dd7</string>
</value>
</item>
</dictionary>',1)
,(N'<dictionary>
<item>
<key>
<string>MKSBGUID</string>
</key>
<value>
<string>740dc6b5-efae-4558-0000-656483b03dd7</string>
</value>
</item>
</dictionary>',2)


CREATE TABLE #U(U uniqueidentifier,res varchar(100))
INSERT INTO #U (U,res) VALUES('740dc6b5-efae-4558-a226-656483b03dd7','связать две таблицы (столбец типа uniqueidentifier-столбец типа xml')
,('740dc6b5-efae-4558-0000-656483b03dd7','другой идентификатор')

SELECT U.res,T.ID
FROM #T T 
CROSS APPLY T.X.nodes('/dictionary/item[key/string = "MKSBGUID"]') XX(I)
JOIN #U U ON U.U = XX.I.value('(./value/string)[1]', 'uniqueidentifier')
GO
DROP TABLE #T
DROP TABLE #U

---- ищите дублирующие узлы или строки или поставьте DISTINCT
SELECT DISTINCT u.FAMILY, u.Name, u.OT, t.N_NWDS
FROM hlt_notworkdoc T CROSS APPLY T.xmldata.nodes('/dictionary/item[key/string = "MKSBGUID"]') XX(I)
JOIN Life_stt_MedicalHistory U ON U.UGUID = XX.I.value('(./value/string)[1]', 'uniqueidentifier') 
Вопрос: Нужна база данных библиотека My SQL SERVER 2008

Нужна база данных библиотека My SQL SERVER 2008
Ответ: Нету такой библиотеки.
Вопрос: Как запустить Reporting Services в Ms sql express server 2005,2008?

Вот я устанавливаю 2005 с дополнительными службами. Но там среди компонентов reporting services в ходе и после установки нету. В требованиях написано что надо IIS 5.0, Аsp 2.0 Nеt (думаю последнее это тоже что просто .NЕT 2.0?). Первого сервера у меня нету - есть ли причина в этом? В 2008 версии - инсталятор имеет 512 mb - сколько места для него надо на системном диске со всего необходимого 1Гб, а то у меня там очень мало места и даже при разпаковке инсталятора появляется ошибка? И я так понимаю для 2008 IIS не надо? И если эти службы установяться как смотреть эти репорты - через Report Builder, Report Viewer?? Можно ли их загрузить отдельно от систем в состав которых они входят?
Ответ:
stut
ваш readme я не могу открыть у себя на т/ф.

Какой еще readme
Ссылку откройте на онлайн документацию

stut
Все таки что там надо для создание репортов если на экспресе эти службы установятся?

Прощай, дорогой друг
Вопрос: Sql Server 2008 vs Visual Studio 2013 (для разработки отчетов)

Всем привет,

хотел бы создать решение для разработки базы данных и отчетности. Т.е. Solution, в котором будет сидеть Database Project + Report Server Project. Все это будет завязано на систему контроля версий GIT.


Проблема в том, что такого зверя можно создать только в Visual Studio 2013, а база данных у нас - SQL Server 2008.
Как вы думаете, они вместе уживутся или будут ошибки?

Спасибо.
Ответ: Владислав Колосов,

Он вроде даунгрэйдить собирается.
Публиковать на 2008 разработанные в 2013ой студии.
Про апгрэйд у меня выше написано, у нас не все сконвертировалось при переходе 2005 --> 2008.
Может, 2012ый продвинутее
Вопрос: Размер столбца типа int

Здравствуйте. Необходимо увеличить размер столбца типа int с 4 до 8. Как это реализовать?
Код SQL
1
2
ALTER TABLE testDB.dbo.tblInformation
ALTER COLUMN Phone INT(8)
При выполнении запроса появляется ошибка "Столбец, параметр или переменная #0: невозможно указать ширину столбца типа int."

Добавлено через 3 минуты
разобрался, использую тип bigint
Ответ: Metall_Version, поддерживаю. Правильным решением может оказаться NVARCHAR(MAX) - и возложить всю обработку на клиента.

Хотя есть ведь еще алгебра больших чисел, реализуемая спец.средствами, - возможно, это именно то, что требуется для хранения индексов строк таблицы
Вопрос: Изменить тип данных столбца, являющегося идентификатором

Здравствуйте! Помогите, пожалуйста, разрулить вот какую проблему:
Есть таблица Table, наполненная данными, в ней столбец ID типа tinyint - идентификатор и первичный ключ. Таблица связана с некоторыми другими в БД, причем этот ID в других таблицах является где-то внешним ключом, где-то частью составного первичного ключа. Короче, паутина из связей та ещё.
Вдруг выясняется, что тип данных , который разработчик дал этому несчастному столбцу ID, явно недостаточно велик в силу частого изменения таблицы Table(удаления строк из неё и добавления новых => идентификатор быстро растет). Возникла необходимость поменять тип столбца, но сохранить данные, причем, желательно сохранить их с теми же значениями столбца ID.
Возможно ли сделать это корректно? Была мысль сгрузить данные во временные таблицы, удалить старые, создать новые уже с новым типом для ID, сначала без ключей и столбца -идентификатора, положить данные из временных таблиц, потом задать ключи и идентификатор. Ан нет, не дает сохранять изменения. Может алгоритм действий какой-то другой, более тонкий? Буду признательна за любую информацию по поводу!
Ответ: 1. Открыть дизайнер для таблицы и изменить тип столбца.
2. Получить change script (на тулбаре есть кнопка "Generate Change Script")
3. В полученный скрипт добавить изменение типа соответствующих столбцов в дочерних таблицах и выполнить его.

ЗЫ: Во избежание возможных "упс" и т.п., сначала потренироваться на копии БД.
Вопрос: Создание базы данных, таблиц, типы данных и триггеры

Здравствуйте.
В колледже выдали задание по базам данных. Как создавать базы, таблицы и типы данных через встроенные инструменты - я знаю.
Но тут нам выдали задание сделать всё тоже самое, но через T-SQL запросы.
Помогите, пожалуйста, разобраться: как написать запросы к упражнениям и объяснить как они работают, чтобы собственно понять их и научиться работать немного с БД
Кликните здесь для просмотра всего текста
1. Создать базу данных Склад
2. Создать таблицу Поставщики (код_поставщика – целый, не нулевой, уникальный идентификатор; наименование- строка до 30 символов, не нулевая)
3. Добавить в таблице Поставщики ограничение на столбец код_поставщика - первичный ключ
4. Создать тип ЕдиницыИзмерения – на основе списка значений: уп., шт., коробка, кв.м. бутылка, пакет, поддон, рулон, пачка
5. Создать таблицу Товары (код_товара – целый, не нулевой, уникальный идентификатор, первичный ключ; наименование- строка до 30 символов, не нулевая)
6. Создать таблицу СкладскиеЕдиницы ( код_единицы – целый, не нулевой, уникальный идентификатор, первичный ключ; код_ товара – целый, не нулевой; код_поставщика – целый, не нулевой; цена – тип денежный, возможно нулевая, един_измер – типа ЕдиницыИзмерения, не нулевой; сум_кол_тов – числовой, возможно нулевое)
7. Добавить в таблицу ограничение – значение по умолчанию для цены – нулевая
8. Добавить в таблицу ограничение – значение по умолчанию для суммарного количества товара – нулевое
9. Создать таблицу ПриходТовара (код_прихода– целый, не нулевой, уникальный идентификатор, первичный ключ; код_склад_един – целый, не нулевой; дата_прихода – дата, возможно нулевая; объем – числовой, не нулевой; срок_годности – дата, возможно нулевая)
10. Добавить в таблицу ПриходТовара ограничение – значение по умолчанию для даты прихода – текущая дата
11. Добавить в таблицу ПриходТовара ограничение – значение по умолчанию для срока годности– 01.01.2100
12. Добавить в таблицу ограничение на столбец срок_годности – проверку, что срок годности больше или равен дате_прихода
13. Создать диаграмму БД Склад. Проектируемая БД имеет следующие основные связи между таблицами:
• таблицы «Поставщики – СкладскиеЕдиницы» имеют идентифицирующую связь один-ко-многим;
• таблицы «Товары – СкладскиеЕдиницы» имеют идентифицирующую связь один-ко-многим;
• таблицы «СкладскиеЕдиницы - ПриходТовара» имеют идентифицирующую связь один-ко-многим.
14. Разработать следующее представление:
Вывести количество складских единиц по каждому поставщику на текущую дату
15. Разработать хранимую процедуру, которая в локальной таблице сохраняет список товаров с просроченным сроком годности

16. Для таблицы ПриходТовара создать триггер, который будет менять суммарное количество складской единицы товара после вставки новой операции прихода этой единицы.
Подсказка: Данный триггер будет триггером AFTER для инструкции INSERT таблицы ПриходТовара.


Буду очень признателен за помощь.
Ответ:
Сообщение от IceSn1per
Единственное, что у меня не укладывается из всего этого: создание типов данных через T-SQL, создание первичного ключа, создание триггеров.
Открываем документацию и читаем:
для создания типов данных через T-SQL - про create type
для создания первичного ключа - про alter table add constraint
для создания триггеров - про create trigger
Вопрос: Посмотреть тип данных столбца

Добрый день!

Помню, что есть встроенная функция, чтобы смотреть типы и размерность данных в столбцах выборки? (int, bigint, char ect.)

Есть сложная процедура, в которой почему-то на выходе параметр типа bigint, хотя везде эта колонка объявляется как money, не могу понять, когда это происходит.
Ответ:
Шыфл
Помню, что есть встроенная функция, чтобы смотреть типы и размерность данных в столбцах выборки?
Вопрос: MySQL как восстановить поврежденную базу данных

Всем привет,

Я попытался применить резервную копию базы данных сервера MySQL в 2005 и увидел следующее сообщение " Неизвестная ошибка базы. Доступ к пути C: \ Program Files \ Microsoft MySQL Server \ ххххх \ MSQL \ Backup отказано " . Что это значит , повреждена моя база данных MySQL или че за бред ?
Ответ:
moraaleks пишет:
Всем привет,

Я попытался применить резервную копию базы данных сервера MySQL в 2005 и увидел следующее сообщение " Неизвестная ошибка базы. Доступ к пути C: \ Program Files \ Microsoft MySQL Server \ ххххх \ MSQL \ Backup отказано " . Что это значит , повреждена моя база данных MySQL или че за бред ?


Спасибо большое, за то что терпели мое нубство, Нашел ответ на другом сайте, кому интересно и кто может сталкивался с такой же проблемой вот ссылка на форуме Удачи Вам во всем) не болейте не ломайтесь))))
Или вот софт еще посоветовали попробовать Repair Toolbox for MySQL

(Отредактировано автором: 17 Сентября, 2015 - 11:48:07)

Вопрос: Автоматическая перезапись старых данных в SQL Server Express 2008 R2

База данных SQL Server Express 2008 R2 ограничена размером в 10 Гб.
В базу пишутся истории изменения множества переменных. В одну таблицу. Колонки в таблице:

time | idtag | value

Нужно чтобы новые данные переписали старые, например, появилась новая одна запись, она должна переписать самую старую одну запись и так далее. Как это можно сделать?

Писал скрипт в C#, который смотрел на колонку time и удалял данные, например, старее 3-х дней. Планировал запускать его в планировщике Windows.

С SQL работаю впервые
Ответ:
churupaha
Winnipuh
...юзер "o-o" ...

о-о точно не юзер.

ой, а кто же я?