【IT168技术文档】
其实原理很简单,就是一个循环比较的方式,所以也不需要大费周章的去介绍了,那么下面就把实现相关的代码和流程贴出来。
建立数据表
在数据库建立三张表,sps_old, sps_new, sps_log。
Sps_old:记录前一次系统中所有存储过程代码,以备比较
Sps_new:当前所有存储过程的代码,与sps_log_old中的数据比较
Sps_log:记录在两个时间点范围内变化的存储过程名字和变化时间
表结构:
/****** Sps_log ******/ CREATE TABLE [dbo].[sps_log]( [sp_id] [int] NULL, [change_date] [datetime] NULL, [action_type] [char](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sp_name] [varchar](150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] /****** Sps_new ******/---------------------------------------------------------------- CREATE TABLE [dbo].[sps_new]( [sp_id] [int] NULL, [colid] [smallint] NULL, [sp_name] [varchar](150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sp_content] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [record_date] [datetime] NULL ) ON [PRIMARY] /******Sps_old******/----------------------------------------------------------------------------------- CREATE TABLE [dbo].[sps_old]( [sp_id] [int] NULL, [colid] [smallint] NULL, [sp_name] [varchar](150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sp_content] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [record_date] [datetime] NULL ) ON [PRIMARY]