Departments 表中预先填充了数据:
我需要制作一个 Web 表单,我可以在其中对我的用户表执行 CRUD 操作(我匆忙将它画出来):
现在的问题是如何编写一个存储过程,该存储过程将根据可用信息 NameDep(这些是我的部门名称)填充用户表(DepId 字段)。级联升级是值得的。
CREATE PROC hp
(
@FName varchar(20), @LName varchar(20), @NameDep nvarchar(20),@Event
varchar(20),@DepId int
)
AS
BEGIN
IF(@Event='Select')
BEGIN
SELECT * FROM Users ORDER BY FirstName ASC;
END
ELSE IF(@Event='Add')
BEGIN
IF @NameDep = 'Дирекция' SET @DepId=1;
INSERT INTO Users (FName,LName,DepId) VALUES(@FName,@LName,@DepId);
IF @NameDep = 'Администрация' SET @DepId=2;
INSERT INTO Users (FName,LName,DepId) VALUES(@FName,@LName,@DepId);
IF @NameDep = 'Эксплуатация' SET @DepId=3;
INSERT INTO Users (FName,LName,DepId) VALUES(@FName,@LName,@DepId);
END
END
如果这是正确的,那么我将按照相同的原则进行更新并删除



1)你为什么有
IF,取决于@NameDep你在哪里分配@DepId?如果你有一百个部门,你会做一百个 IF 吗?
你有一张带部门的桌子=>你可以让 1 优雅
SET而不是一张纸
IF'ов2)据我了解,您想用一个程序(删除、添加、更新)用一块石头杀死 3 只鸟 - 这是不正确的。每个程序都应负责特定的逻辑。