sql存储过程:通用删除数据
经过修改利用上了事务.对于ASP开发时获取输出参数的值来判断是否执行成功

有哪些地方没有处理好的
请大侠纠正

  1. */ ------------------------------------------------------------
  2. */ 出自: 歌特中国 http://www.cngothic.com
  3. */ 作者: cngothic
  4. */ ------------------------------------------------------------
  5. CREATE PROC DeleteTable
  6.   @tableName     NVARCHAR(30),
  7.   @whereStr      NVARCHAR(500)  = NULL,
  8.   @groupStr      NVARCHAR(50) = NULL,
  9.   @deleteNum     smallInt   OUTPUT
  10. AS
  11.   DECLARE @sqlStr  NVARCHAR(1000)
  12.   SET @sqlStr = 'DELETE FROM ' + @tableName
  13.   if (@whereStr != '')
  14.     BEGIN
  15.       SET @sqlStr = @sqlStr + ' WHERE ' + @whereStr
  16.     END
  17.   if (@groupStr != '')
  18.     BEGIN
  19.       SET @sqlStr = @sqlStr + ' GROUP BY ' + @whereStr
  20.     END
  21.  
  22.   BEGIN TRANSACTION
  23.     EXEC(@sqlStr)
  24.     IF @@error=0
  25.       BEGIN
  26.         COMMIT TRANSACTION
  27.         SET @deleteNum = 1
  28.       END
  29.     ELSE
  30.       BEGIN
  31.         ROLLBACK TRANSACTION
  32.         SET @deleteNum = 0
  33.       END
  34.  
  35. GO

, , , , ,