Вопросы с тегом «t-sql»

Transact-SQL (T-SQL) - это диалект SQL, используемый Microsoft SQL Server и Sybase SAP.

2
Как именно sp_msforeachdb работает за кулисами?
Мне нужно решить проблему, с которой я столкнулся, и мне нужна помощь, чтобы понять, как sp_msforeachdb работает, чтобы преодолеть мою проблему. Что происходит, каждый раз, когда я запускаю sp_msforeachdb, я получаю сообщение об ошибке Msg 102, Level 15, State 1, Incorrect syntax near '61' Пример моего кода выглядит следующим образом: …

3
Должен ли я добавить поле автоинкремента / IDENTITY в таблицу перекрестных ссылок только для ПК?
Я добавляю следующую таблицу перекрестных ссылок в базу данных, размещенную на SQL Server: company_id bigint not null (FK) org_path nvarchar (2048) not null company_idПоле относится к idобласти в другую таблицу , в которой (это первичный ключ). Учитывая, что также может быть несколько записей с одинаковыми значениями company_id, любой первичный ключ …

1
Должны ли мы по-прежнему использовать QUOTENAME для защиты от инъекционных атак?
Сегодня я просматривал старую хранимую процедуру и заметил, что она использует quotenameвходные параметры. После некоторых копаний, чтобы выяснить, что это делает, я наткнулся на этот сайт . Теперь я понимаю, что он делает и как его использовать, но на сайте написано, что он используется для предотвращения атак SQL-инъекций. Когда я …

1
Преодолеть MERGE JOIN (INDEX SCAN) с явным одиночным значением KEY на FOREIGN KEY
Добавлено 7/11 . Проблема заключается в возникновении взаимоблокировок из-за сканирования индекса во время MERGE JOIN. В этом случае транзакция пытается получить S-блокировку для всего индекса в родительской таблице FK, но ранее другая транзакция устанавливает X-блокировку для значения ключа индекса. Позвольте мне начать с небольшого примера (используется база данных TSQL2012 из …

1
Как избежать использования запроса Merge при загрузке нескольких данных с использованием параметра xml?
Я пытаюсь обновить таблицу с массивом значений. Каждый элемент в массиве содержит информацию, которая соответствует строке в таблице в базе данных SQL Server. Если строка уже существует в таблице, мы обновляем эту строку информацией из данного массива. Иначе, мы вставляем новую строку в таблицу. Я в основном описал upsert. Теперь …

2
Как сгладить результаты таблицы с двумя связанными «многими» таблицами?
Я реорганизовал некоторые таблицы в своей базе данных, чтобы сделать их более гибкими, но я не совсем уверен, как написать SQL для извлечения из них значимых данных. У меня есть следующие таблицы (несколько сокращенно для более ясного примера): CREATE TABLE Loans( Id int, SchemaId int, LoanNumber nvarchar(100) ); CREATE TABLE …

1
sp_execute ожидает параметр '@handle' типа 'int'
Я пытаюсь проверить хранимую процедуру, если таблица существует в моей целевой базе данных. Если этого не произойдет, я создам таблицу с использованием таблиц information_schema из исходной базы данных. Однако когда я использую sp_execute, чтобы попытаться вернуть таблицу, если она существует, я получаю сообщение об ошибке. Процедура ожидает параметр '@handle' типа …

1
Переменная для имени элемента
У меня есть этот код TSQL, который работает нормально: SELECT c.logguid, a.b.value('./PropertyValue', 'varchar(max)') asd FROM [dnn].[dbo].[EventLog2] c cross apply sss.nodes('/LogProperties/LogProperty[PropertyName=sql:variable("@x") and PropertyValue=sql:variable("@y")]') as a(b) Тем не менее, я хочу передать динамический список из множества пар значений, которые OR были бы между каждым, т.е. SELECT c.logguid, a.b.value('./PropertyValue', 'varchar(max)') asd FROM [dnn].[dbo].[EventLog2] …
9 t-sql  xml 

6
Выберите строки с тем же идентификатором, но нулевым, и некоторые другие значения в другом столбце для этого идентификатора
Я хочу получить только строки, имеющие значение NULLи некоторые другие значения, чем NULLдля определенного столбца имени пользователя. Если обе строки имеют значение NULL для данного имени пользователя или обе имеют значения, отличные от NULL, то они не должны появляться в выходных данных. Если существует более двух строк для одного имени …

2
Как проверить наличие нулевого или пустого табличного параметра?
У меня есть хранимая процедура (SS2k8) с парой табличных параметров, которые иногда будут нулевыми или пустыми. Я видел этот пост StackOverflow, в котором говорится, что нулевые / пустые TVP должны быть просто исключены из списка параметров вызова. Моя проблема заключается в том, что я не могу понять, как проверить наличие …

3
Как получить последнюю строку идентификатора, вставленную при использовании вместо триггера
Когда я вставляю в таблицы, используя вместо триггеров @@Identity, IDENT_CURRENT('Table')и SCOPE_IDENTITY()возвращаю ноль. Как я могу получить последний идентификатор вставленной строки?

2
Как проверить, когда статистика в последний раз выполнялась?
В последнее время у нас возникли некоторые проблемы с нашими индексами, которые наша команда администраторов баз данных приписала статистике, которая недавно не проводилась. Это заставило меня задуматься - как я могу проверить, обновлялась ли недавно статистика через SQL Management Studio? Я прошу прощения, если этот вопрос не объясняет это очень …

3
Как я могу получить итоги последних строк быстрее?
В настоящее время я разрабатываю таблицу транзакций. Я понял, что потребуется подсчет промежуточных итогов для каждой строки, и это может привести к снижению производительности. Поэтому я создал таблицу с 1 миллионом строк для целей тестирования. CREATE TABLE [dbo].[Table_1]( [seq] [int] IDENTITY(1,1) NOT NULL, [value] [bigint] NOT NULL, CONSTRAINT [PK_Table_1] PRIMARY …

4
Выйти из запроса в регистре?
Я пытаюсь настроить запрос, чтобы он сравнивал две даты из двух разных таблиц, и если они равны, запрос завершается. Если они не равны, тогда запрос будет продолжен и вставлены некоторые вещи. Однако я не могу понять, как заставить его делать то, что я хочу. SELECT TOP(1) @dateA=a.someDate FROM a ORDER …

3
Найдите самый маленький недостающий элемент на основе определенной формулы
Мне нужно иметь возможность найти отсутствующий элемент из таблицы с десятками миллионов строк и иметь первичный ключ BINARY(64)столбца (который является входным значением для вычисления). Эти значения в основном вставляются по порядку, но иногда я хочу использовать предыдущее значение, которое было удалено. Невозможно изменить удаленные записи IsDeletedстолбцом, поскольку иногда вставляется строка, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.