Кто-нибудь знает, почему следующий оператор CREATE PROCEDURE
не работает (он говорит: «Команды успешно выполнены», но процедура не создается:
CREATE PROCEDURE [dbo].[TestProc]
AS
BEGIN
DECLARE @TV TABLE (lKey int null)
UPDATE @TV
SET lKey = 0 --a.lKey
FROM @TV
CROSS JOIN
-- Joining to select from non-existant sequence.
(SELECT NEXT VALUE FOR TestSeqDoesntExist AS lKey) a
END
GO
Похоже, что-то связано с последовательность, не существующая в базе данных - замена существующего объекта последовательности приводит к тому, что процедура создается должным образом.
Я бы ожидал, что процедура будет создана, но произойдет сбой при выполнении с ошибкой о последовательности, которой нет существующий.
Я использую SSMS v17.9 для подключения к SQL базе данных Server 2017 (v14.0.1000.169).