wire_jp Ответов: 2

Как вставить хранимую процедуру данные в столбец в существующей таблице SQL-сервера


Привет,

Я создал хранимую процедуру в ms sql server. Хранимая процедура вычитает два столбца в одной таблице. Как вставить эти данные хранимой процедуры в столбец инвентаризации существующей таблицы dbo.Магазин? Хранимая процедура такова:

ALTER PROCEDURE [dbo].[sp.StoreBilling]
	
AS
BEGIN
	SET NOCOUNT ON;

DECLARE @Stock decimal(10,2)=0.00
DECLARE @Spoilage decimal(10,2)=0.00

SELECT A.Stock, A.Spoilage, A.Stock-A.Spoilage AS Inventory
FROM dbo.Store AS A
END


Что я уже пробовал:

ALTER PROCEDURE [dbo].[sp.StoreBilling]
	
AS
BEGIN
	SET NOCOUNT ON;

DECLARE @Stock decimal(10,2)=0.00
DECLARE @Spoilage decimal(10,2)=0.00

SELECT A.Stock, A.Spoilage, A.Stock-A.Spoilage AS Inventory
FROM dbo.Store AS A
INSERT INTO  dbo.Store
OUTPUT Inventory
VALUES(@Stock-@Spoilage); 
END


Error message: 
Msg 213, Level 16, State 1, Procedure sp_StoreBilling, Line 20 [Batch Start Line 7]
Column name or number of supplied values does not match table definition.

wire_jp

@Tadit Dash: я хочу вставить в колонку под названием Inventory в dbo.Стол для хранения.

2 Ответов

Рейтинг:
17

wire_jp

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

Запас - Порча

Я сохранил формулу.


Рейтинг:
1

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Вы не указали имя столбца для инструкции insert.