怎么样自动生成表的更新脚本?
每当新建一个数据表,要建立个UP_TableName的存储过程来实现表的INSERT UPDATE DELETE操作。
如建立了个表是 WoolenDeliveDetail,更新表的存储过程是UP_WoolenDeliveDetail
格式:
CREATE PROCEDURE UP_WoolenDeliveDetail
@INTUpdateID INT,--为 -1 删除 0 修改 1新增
@INTDeDetailID INT,
@INTDeID INT,
@INTColorID INT,
@NVD1 NVARCHAR(20),
@NVD2 NVARCHAR(20),
@NVD3 NVARCHAR(20),
@NVD4 NVARCHAR(20),
@NVD5 NVARCHAR(20),
@NVD6 NVARCHAR(20),
@NVD7 NVARCHAR(20),
@NVD8 NVARCHAR(20),
@NVD9 NVARCHAR(20),
@NVD10 NVARCHAR(20)
AS
IF (@INTUpdateID=0)
Begin
UPDATE WoolenDeliveDetail SET DeID=@INTDeID,ColorID=@INTColorID,
D1=@NVD1,D2=@NVD2,D3=@NVD3,D4=@NVD4,D5=@NVD5,D6=@NVD6,D7=@NVD7,D8=@NVD8,D9=@NVD9,D10=@NVD10
WHERE DeDetailID=@INTDeDetailID
End
ELSE IF (@INTUpdateID=1)
Begin
SET @INTDeDetailID=(Select ISNULL(MAX(DeDetailID),0) From WoolenDeliveDetail)+1 --取新的ID
INSERT INTO WoolenDeliveDetail (DeDetailID,DeID,ColorID,
D1,D2,D3,D4,D5,D6,D7,D8,D9,D10
) VALUES
(@INTDeDetailID,@INTDeID,@INTColorID,
@NVD1,@NVD2,@NVD3,@NVD4,@NVD5,@NVD6,@NVD7,@NVD8,@NVD9,@NVD10
)
End
ELSE
DELETE FROM WoolenDeliveDetail WHERE DeDetailID=@INTDeDetailID
GO
其他的常规的数据表更新存储过程与这存储过程结构差不多。有没有方法实现,新建一表后,执行一个通用的生成更新数据的存储过程,后生成该表的更新存储脚本??
希望高手,前辈指点,谢谢了。