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

12
Как ограничить хранимую процедуру SQL для запуска одним человеком одновременно?

У меня есть хранимая процедура, которая в основном выбирает значения из одной таблицы и вставляет их в другую, что-то вроде архивирования. Я хочу, чтобы несколько человек не делали это одновременно. Пока эта процедура запущена, я не хочу, чтобы кто-либо другой мог ее запустить, однако я не хочу,...

12
Вставить результаты хранимой процедуры в табличную переменную

У меня есть хранимая процедура, которая хранит значения в табличной переменной. Я выбираю эти значения и возвращаю их при вызове процедуры. Я пытаюсь установить эти возвращаемые значения в другой табличной переменной, но я не могу понять это. Хранимая процедура ALTER PROCEDURE...

12
Зачем использовать мастер для создания базы данных?

У меня короткий вопрос, почему я использую use master;для создания базы данных? Вот пример из документации Microsoft USE master ; GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'C:\Program Files\...\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log,...

12
Транзакция в хранимой процедуре

Мне нужно выполнить ОБНОВЛЕНИЕ и ВСТАВКУ в одной транзакции. Этот код прекрасно работает сам по себе, но я хотел бы иметь возможность легко вызывать его и передавать необходимые параметры. Когда я пытаюсь вложить эту транзакцию в хранимую процедуру, я сталкиваюсь с множеством синтаксических ошибок....

11
Как иметь более 100 записей в выписке case в качестве переменной

Я написал оператор case с> 100 вариантами, где я использую один и тот же оператор в 4 местах в простом запросе. Один и тот же запрос дважды с объединением между ними, но также выполняет подсчет, и поэтому в группе также содержится оператор case. Это делается для того, чтобы переименовать...

11
Преобразовать столбец даты и времени в количество секунд

В моей базе данных SQL Server у меня есть datetimeстолбец. Каков хороший способ создать новый столбец, который представляет longзначение для datetimeстолбца? Это longбудет представлять количество секунд. Я подумал, что если я смогу преобразовать его в longs, это упростит группирование по запросам...

11
Использование FLOATs с RAISERROR

Я использую RAISERROR()для обеспечения некоторых базовых функций модульного тестирования (как здесь ), но я разочарован невозможностью использовать FLOATsв сообщении об ошибке. Я знаю, что могу преобразовать float в строку, но я использую RAISERRORв каждом модульном тесте, я не хочу добавлять еще...

11
ОБНОВЛЕНИЕ с JOIN на 100 мм записи, как это сделать лучше? (в T-SQL)

Мне нужно обновить 100 миллионов записей в одной таблице, по сути, нормализуя таблицу, заменив значение столбца varchar просто идентификатором. (Я говорю «замена», но на самом деле я пишу идентификатор в другой столбец.) Я пытаюсь добиться нормализации набора данных. Еще не нормализованные данные...

11
Хороший способ вызвать несколько заданий агента SQL Server последовательно из одного основного задания?

У меня есть несколько заданий агента SQL Server, которые должны выполняться последовательно. Чтобы иметь хороший обзор работ, которые должны быть выполнены, я создал основную работу, которая вызывает другие работы с вызовом EXEC msdb.dbo.sp_start_job N'TEST1'. Завершение происходит...

11
Как динамически изменить базу данных с помощью TSQL

У меня проблемы с попыткой динамически изменить контекст SSMS на базу данных, указанную в динамическом SQL: EXEC sys.sp_executesql N'USE db1 ' ; Он выполняется успешно, однако контекст базы данных SSMS не изменяется. Я попытался небольшое изменение выше, как DECLARE @sql NVARCHAR(100) DECLARE @db...

11
Как создать серии 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1,… в стандартном SQL или T-SQL?

Учитывая два числа nи m, я хочу создать серию вида 1, 2, ..., (n-1), n, n, (n-1), ... 2, 1 и повтори это mраз. Например, для n = 3и m = 4я хочу последовательность из следующих 24 чисел: 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1 ---------------- ----------------...

11
Запрос медленный для определенных пользователей

У меня есть пара запросов, вызванных из веб-приложения C # .NET, которые всегда бывают быстрыми для меня (я являюсь локальным администратором на SQL Server), но для группы пользователей (группа домена с необходимыми разрешениями) запрос невероятно медленный Дело в том, что время ожидания в...

11
Отображение нескольких имен входа на сервер одному пользователю базы данных

Это кажется глупым вопросом, но, несмотря на некоторые исследования, я не смог найти какую-либо информацию только об этом (возможно, из-за неправильной терминологии). Можно ли зарегистрировать несколько входов на сервер (проверка подлинности на сервере sql) одному пользователю базы данных (которому...

11
Выражение CASE возвращает неверное значение при использовании CEILING

Я столкнулся с проблемой, когда CASEвыражение не возвращает то, что я ожидаю. В качестве теста я добавил десятичную переменную и применил к ней то же CASEвыражение, и оно работает нормально, возвращая результаты, как я и ожидал (округляя значение до, когда IsGun=1. Но когда я запускаю это же...

11
SQL Server Вставка в - Как определить столбец, который вызывает ошибку усечения

У меня есть хранимая процедура, которая вставляет 650 полей в таблицу. Вставка не выполняется с ошибкой усечения. Это просто INSERT INTO SELECT (a bunch of fields) FROM (a bunch of tables) Ниже приведено сообщение об ошибке: Сообщение 8152, уровень 16, состояние 14, процедура DSP_Procedure, строка...

11
Что теряется, когда я создаю внешний ключ, используя `WITH NOCHECK`?

Я знаю, что если я EXISTS()вызову значение поиска FK, то, если это ограничение FK является доверенным, результат будет немедленным. И если ему не доверяют (например, когда я создаю FK с использованием WITH NOCHECK), то SQL Server должен пойти и проверить таблицу, чтобы увидеть, действительно ли...

11
Нужны ли явные транзакции в этом цикле while?

SQL Server 2014: У нас очень большая таблица (100 миллионов строк), и нам нужно обновить пару полей в ней. Что касается доставки журналов и т. Д., Мы также, очевидно, хотим, чтобы они содержали транзакции размером с кусочек. Если мы позволим приведенному ниже выполнить некоторое время, а затем...

11
Невозможно отразить базу данных SQL Server 2012

При попытке зеркалировать базу данных с помощью следующей команды ALTER AVAILABILITY GROUP SQLAlwaysonGroup ADD DATABASE test0916aj8CJ Я получаю следующую ошибку Сообщение 1475, уровень 16, состояние 105, строка 1 База данных «test0916aj8CJ» может содержать массовые зарегистрированные изменения,...