创建一个存储过程,用于检索、更新和删除每个 Table 上的记录

Create a stored procedure that would Retrieve, Update, and Delete Records on each Table

CREATE TABLE Person
(
ID INT Primary Key Identity (1,1),
LastName nVarchar (20) not NULL, 
FirstName nVarchar (20) not NULL, 
MiddleName nVarchar (20), 
BirthDate DateTime not NULL, 
Age INT not NULL, 
Check (Age>18) 
);


CREATE TABLE Department
(
ID INT Primary Key Identity (1,1), 
DepartmentName nVarchar (50) Unique, 
DepartmentCode nVarchar (20) Unique, 
IsActive Bit Default (1)
); 


CREATE TABLE Employee
(
ID INT Primary Key Identity (1,1), 
PersonId INT Foreign Key REFERENCES Person, 
DepartmentId INT Foreign Key REFERENCES Department, 
Salary Decimal (18,2), 
Check (Salary>10000), 
IsActive Bit Default (1) 
); 

我试过使用这个,但我不太确定这是否正确。

    CREATE PROCEDURE sp_retrieve 
    AS 
    BEGIN 
    SELECT * FROM Person 
    END 
    GO 

如何正确创建用于检索、更新和删除的存储过程?

CREATE PROCEDURE usp_Test123
AS
SELECT 'This is a test'

CREATE PROCEDURE usp_Update @Col1Val NVARCHAR(MAX)
AS
UPDATE ReplaceTableNameHere
SET Column1 = @Col1Val

CREATE PROCEDURE usp_Insert @Col1Val NVARCHAR(MAX)
AS
INSERT INTO ReplaceTableNameHere (Col1)
VALUES (Column1 = @Col1Val)

CREATE PROCEDURE usp_delete @PKID NVARCHAR(MAX)
AS
DELETE ReplaceTableNameHere
WHERE ColumnPKID = @PKID

编辑:您将在执行存储过程时传入值以允许 select、更新和删除。

更新示例:

EXEC usp_Update @Col1Val = 50;

这会将您在存储过程中定义的 table 更新为值 50。