2017-03-27 86 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 –