Мой вопрос в том, как я могу выполнить определенную хранимую процедуру. Когда я выполняю конкретное событие, это дает мне ошибку:Выполнение хранимой процедуры в SQL Server 2008 с четырьмя событиями
Procedure or function 'StoredProcedureNames' expects parameter '@empid', which was not supplied
Как его поставить? My SQL является:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE StoredProcedureNames
@event tinyint,
@empid int,
@emp_name varchar(50),
@emp_phno char(10),
@emp_add nvarchar(75)
AS
IF @event = 1
BEGIN
INSERT INTO employee_test (emp_name,emp_phno,emp_add,empid)
VALUES (@emp_name,@emp_phno,@emp_add,@empid)
END
ELSE IF @event = 2
BEGIN
UPDATE employee_test SET
emp_name = @emp_name,
emp_phno = @emp_phno,
emp_add = @emp_add,
empid = @empid
WHERE (emp_Add = @emp_add
and emp_name = @emp_name
and emp_phno = @emp_phno
and empid = @empid)
END
ELSE IF @event = 3
BEGIN
select empid,emp_phno from employee_test
where (emp_Add = @emp_add or emp_name = @emp_name) -- when i execute any event say exex sp 3 it shows a error
END
ELSE IF @event = 4
BEGIN
DELETE FROM employee_test
WHERE (emp_phno = @emp_phno or emp_name = @emp_name)
End
Ошибка это показывает, когда я м не поставить все значения полей
Error converting data type varchar to int.
что это значит?
Как вы выполнение хранимой процедуры? Похоже, что вы не поставляете достаточно параметров, а тот, который вам не хватает, интерпретируется для другого. – Lojko