所以我们被告知存储过程已经过优化,我们永远不应该将 sql 语句放入代码中。
但我不想为我需要的每种查询或数据库操作创建 10,000 个存储过程。
所以我开始做这样的事情(将所有函数放入一个存储过程中):
CREATE PROCEDURE [dbo].[spTABLENAME]
@Function nvarchar = null,
@ID int = null,
@MoreVariables int = null
AS
BEGIN
SET NOCOUNT ON;
IF @Function = 'UPDATE'
BEGIN
UPDATE UPDATESTUFF WHERE ID = @ID;
END
ELSE IF @Function = 'INSERT'
BEGIN
INSERT INTO TABLENAME (STUFF)
END
ELSE IF @Function = 'SELECT'
BEGIN
SELECT * FROM TABLENAME WHERE ID= @ID
END
ELSE IF @Function = 'DELETE'
BEGIN
DELETE * FROM TABLENAME WHERE ID = @ID
END
结尾
有人可以告诉我以这种方式做事是否有任何问题?