2017-03-27 87 views
-1

我创建了3个用于插入,更新和删除记录的存储过程。删除记录的存储过程

虽然插入和更新记录存储过程工作正常,但我无法通过删除存储过程删除记录。

在存储过程中的代码是在这里:

CREATE PROCEDURE usp_DeleteEmployeeRcord 
    (@Name NVarchar(50), 
    @FName Nvarchar(50), 
    @Address NVarchar (50), 
    @Email Nvarchar(50), 
    @Mobile NVarchar(50), 
    @Pincode NVarchar(50)) 
AS 
BEGIN 
    DELETE [dbo].[EmployeeDetails] 
    WHERE Pincode = @Pincode 
END 
+0

告诉我们你得到了什么错误,或者做到了简单失败而没有错误? – Matthew

回答

0

你必须让变量可选:您没有传递的过程:

使用此修改:

CREATE PROCEDURE usp_DeleteEmployeeRcord 
(
@Name NVarchar(50)='', 
@FName Nvarchar(50)='', 
@Address NVarchar (50)='', 
@Email Nvarchar(50)='', 
@Mobile NVarchar(50)='', 
@Pincode NVArchar(50) 
) 

AS 
     BEGIN 
      DELETE [dbo].[EmployeeDetails] 
      Where Pincode = @Pincode 
     END 

希望能帮助到你。 :)

+0

你的代码会给出语法错误。请仅在您自行测试后发布您的代码。 – balaji

+0

你得到的错误是什么,你能告诉我吗? –

+0

您可能会收到对象usp_DeleteEmployeeRcord已经存在的错误,因此您只需删除先前或更改的过程,无论您喜欢什么。 –

1

你忘了FROM子句中你的声明,这是

DELETE FROM dbo.EmployeeDetails WHERE .... 
1

因为你DELETE说法是不正确的。正确的语法是

DELETE FROM <TableName> Where <Condition> 

因此改变你的查询到这一点,然后尝试

DELETE FROM [dbo].[EmployeeDetails] Where Pincode = @Pincode 
0

存储过程删除记录 - 书籍详细的 举例如下:

Create procedure[dbo].[DeleteBookDetails_SP] 
     @BookId Int 
    As 
    Begin 

     Delete from BookDetails Where [email protected] 

    End 

这里“DeleteBookDetails_SP “是存储过程名称,”BookDetails“是表名,”BookId“是表中的列名。

+0

Create语句必须是Create procedure [dbo]。[DeleteBookDetails_SP](@ BookId Int)而不是Create procedure [dbo]。[DeleteBookDetails_SP] @BookId Int –