Я получаю эту ошибку при обращении к хранимой процедуры в SQL Server:процедура ожидает параметр, который не поставляется в SQL
Процедура или функция «resetdata» ожидает параметр «@FirstName», который не поставлялся ,
Это мой стол:
CREATE TABLE dbo.Client
(
ClientID int IDENTITY(1,1) PRIMARY KEY NOT NULL,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
StreetAddress VARCHAR(50) NULL,
Suburb VARCHAR(15)NULL,
C_State VARCHAR(3) NULL, --CHECK (C_State IN ('QLD', 'NSW', 'VIC', 'TAS', 'SA', 'WA', 'NT', 'ACT')),
PostCode SMALLINT NOT NULL,
PhoneNumber VARCHAR(11) NULL,
);
GO
ALTER TABLE Client
ADD CONSTRAINT state_ CHECK (C_State IN ('QLD', 'NSW', 'VIC', 'TAS', 'SA', 'WA', 'NT', 'ACT')),
CONSTRAINT check_post_code CHECK ([PostCode] LIKE '[0-9][0-9][0-9][0-9]' or [PostCode] LIKE '[0-9][0-9][0-9]');
GO
Это моя хранимая процедура:
CREATE PROCEDURE [dbo].[resetdata]
@FirstName varchar(50),
@LastName varchar(50),
@PostCode smallint
AS
BEGIN
INSERT INTO A1.dbo.Client (FirstName, LastName, PostCode)
VALUES(@FirstName, @LastName, @PostCode)
END;
GO
EXEC dbo.resetdata;
INSERT INTO Client(FirstName, LastName, PostCode)
VALUES ('F', 'L', 12345);
Мне любопытно, что касается процедуры «dbo.resetdata». Он ничего не сбрасывает; он просто добавляет новую строку. После вызова процедуры вы вставляете строку вручную, что предполагает, что вы ожидали, что она сделает что-то еще. Возможно, вы могли бы уточнить, что вы пытаетесь выполнить. – yelxe