В моей базе данных есть таблицы с именами Table_Stories
и Table_Images
, связанные с ключами. Я вставляю в них значения с помощью созданной мной хранимой процедуры.
CREATE TABLE [dbo].Table_Stories
(
[StoryID] INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
[ID] INT FOREIGN KEY REFERENCES Table_Users(ID),
[StoryText] NVARCHAR(120),
[imgID] INT FOREIGN KEY REFERENCES Table_Images (imgID)
)
КОД:
CREATE PROCEDURE UserStory
@ID [INT],
@storyText [NVARCHAR](120),
@img [VARCHAR](MAX)
AS
BEGIN
DECLARE @StoryID INT, @ImageID INT;
INSERT INTO Table_Images ([img]) VALUES (@img)
SET @ImageID = SCOPE_IDENTITY();
INSERT INTO Table_Stories ([ID], [StoryText], [imgID])
VALUES (@ID, @storyText, @ImageID)
SET @StoryID = SCOPE_IDENTITY();
INSERT INTO Table_Stories ([StoryID])
VALUES (@StoryID)
INSERT INTO dbo.imagesInStories (StoryID, imgID)
VALUES (@StoryID, @ImageID);
SELECT *
FROM Table_Stories
WHERE StoryID = @StoryID AND imgID = @ImageID;
END
Я бегу:
exec UserStory 1, 'I welcom you to my trip', 'Chadmie.jpg'
и получите эту ошибку:
Сообщение 545, Уровень 16, Состояние 1, Процедура UserStory, Строка 14 [Стартовая строка 291]
Явное значение должно быть указано для столбца идентификаторов в таблице «Table_Stories», если для IDENTITY_INSERT задано значение ON или когда пользователь репликации вставляет в столбец идентификаторов NOT FOR REPLICATION.
Я не понимаю, что означает эта ошибка и как ее исправить.
p.s
Я не могу вставить весь SQL-код здесь (не так, как я), он отнимает у меня слишком много времени из-за красной ошибки, которая отображается независимо от того, что я делаю, пытаясь исправить код вопроса.