创建一个存储过程,用于检索、更新和删除每个 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。
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。