Вопросы с тегом «tsql»

260
Как получить дату в формате ГГГГ-ММ-ДД из поля даты и времени TSQL?

Как получить дату из SQL Server в YYYY-MM-DDформате? Мне нужно это для работы с SQL Server 2000 и выше. Есть ли простой способ сделать это в SQL Server или будет проще преобразовать его программно после получения набора результатов? Я читал CAST и CONVERT в Microsoft Technet, но нужный мне формат...

258
ВЫБЕРИТЕ DISTINCT на одном столбце

Используя SQL Server, у меня есть ... ID SKU PRODUCT ======================= 1 FOO-23 Orange 2 BAR-23 Orange 3 FOO-24 Apple 4 FOO-25 Orange я хочу 1 FOO-23 Orange 3 FOO-24 Apple Этот запрос не доставляет меня туда. Как выбрать SELECT DISTINCT только для одного столбца? SELECT [ID],[SKU],[PRODUCT]...

250
SQL Server ВЫБРАТЬ В @ переменную?

У меня есть следующий код в одном из моих сохраненных Proq Sql (2008), который прекрасно работает: CREATE PROCEDURE [dbo].[Item_AddItem] @CustomerId uniqueidentifier, @Description nvarchar(100), @Type int, @Username nvarchar(100), AS BEGIN DECLARE @TopRelatedItemId uniqueidentifier; SET...

246
Необходимо перечислить все триггеры в базе данных SQL Server с именем таблицы и схемой таблицы

Мне нужно перечислить все триггеры в базе данных SQL Server с именем таблицы и схемой таблицы. Я почти там с этим: SELECT trigger_name = name, trigger_owner = USER_NAME(uid),table_schema = , table_name = OBJECT_NAME(parent_obj), isupdate = OBJECTPROPERTY( id, 'ExecIsUpdateTrigger'), isdelete =...

245
Значения NULL внутри предложения NOT IN

Эта проблема возникла, когда я получил различное количество записей для идентичных запросов, один из которых использовал not in whereограничение, а другой a left join. Таблица в not inограничении имела одно нулевое значение (неверные данные), в результате чего этот запрос возвращал количество...

243
Как создать внешний ключ в SQL Server?

У меня никогда не было «кодированного» вручную кода создания объекта для SQL Server, и расшифровка внешнего ключа, по-видимому, различна для SQL Server и Postgres. Вот мой sql пока: drop table exams; drop table question_bank; drop table anwser_bank; create table exams ( exam_id uniqueidentifier...

243
Есть ли способ перебрать табличную переменную в TSQL без использования курсора?

Допустим, у меня есть следующая простая табличная переменная: declare @databases table ( DatabaseID int, Name varchar(15), Server varchar(15) ) -- insert a bunch rows into @databases Является ли объявление и использование курсора моим единственным вариантом, если я хочу перебирать строки? Есть ли...

239
Скрипт для уничтожения всех соединений с базой данных (больше чем RESTRICTED_USER ROLLBACK)

У меня есть база данных для разработки, которая часто переустанавливается из проекта базы данных Visual Studio (через TFS Auto Build). Иногда, когда я запускаю свою сборку, я получаю эту ошибку: ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later. ALTER...

237
Как я могу избежать квадратных скобок в предложении LIKE?

Я пытаюсь фильтровать элементы с помощью хранимой процедуры, используя как. Колонна - это вархар (15). Пункты, которые я пытаюсь отфильтровать, имеют квадратные скобки в названии. Например: WC[R]S123456. Если я сделаю это, LIKE 'WC[R]S123456'он ничего не вернет. Я нашел некоторую информацию об...

237
Проверьте, существует ли строка, в противном случае вставьте

Мне нужно написать хранимую процедуру T-SQL, которая обновляет строку в таблице. Если строка не существует, вставьте ее. Все эти шаги обернуты транзакцией. Это для системы бронирования, поэтому она должна быть атомарной и надежной . Он должен вернуть значение true, если транзакция была совершена и...

236
Правильное использование транзакций в SQL Server

У меня есть 2 команды, и обе они должны быть выполнены правильно, или ни одна из них не выполнена. Я думаю, что мне нужна транзакция, но я не знаю, как правильно ее использовать. В чем проблема со следующим скриптом? BEGIN TRANSACTION [Tran1] INSERT INTO [Test].[dbo].[T1] ([Title], [AVG]) VALUES...

235
Как удалить ограничение внешнего ключа, только если оно существует на сервере SQL?

Я могу удалить таблицу, если она существует, используя следующий код, но не знаю, как сделать то же самое с ограничением: IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName go Я также добавляю ограничение, используя этот код: ALTER...

234
Превращение разделенной запятой строки в отдельные строки

У меня есть таблица SQL, как это: | SomeID | OtherID | Data +----------------+-------------+------------------- | abcdef-..... | cdef123-... | 18,20,22 | abcdef-..... | 4554a24-... | 17,19 | 987654-..... | 12324a2-... | 13,19,20 Есть ли запрос, где я могу выполнить запрос, SELECT OtherID, SplitData...

230
Когда использовать Common Table Expression (CTE)

Я начал читать о Common Table Expression и не могу вспомнить случай использования, когда мне нужно было бы их использовать. Они кажутся избыточными, как то же самое можно сделать с производными таблицами. Я что-то упускаю или плохо понимаю? Может ли кто-нибудь дать мне простой пример ограничений с...

228
Предложение T-SQL CASE: как указать WHEN NULL

Я написал инструкцию T-SQL, похожую на эту (оригинал выглядит иначе, но я хочу привести простой пример): SELECT first_name + CASE last_name WHEN null THEN 'Max' ELSE 'Peter' END AS Name FROM dbo.person В этом операторе нет синтаксических ошибок, но предложение case всегда выбирает ELSE-часть -...

222
Есть ли разница в производительности между CTE, подзапросом, временной таблицей или переменной таблицы?

В этом превосходном вопросе SO различия между CTEи sub-queriesбыли обсуждены. Я хотел бы специально спросить: При каких обстоятельствах каждое из следующих действий более эффективно / быстрее? КТР Sub-запросы Временный стол Переменная таблицы Традиционно я использовал много temp tablesв разработке...