WHERE sik.id = @nTableID AND sik.indid = @nIndexID) BEGIN RETURN 1 END
RETURN 0 END --------------------- 通过这个SQL语句可以查出数据库中所有表的列属性。 通过分别执行两次这个SQL语句,就可以取出两个库中列的属性比较了。 ---------------------------------------------------------------- 对于存储过程和函数 用下面的SQL语句: select * from sysobjects where xtype in ('P','TF','IF','FN') order by [Name] 可以查询出所有的存储过程和函数名。循环查询出来的 结果, 每个循环中 将函数或存储过程名存到一字符串SpobjectName中,然后调用 存储过程: sp_helptext 如下: exec sp_helptext '" +SpobjectName+"' 返回一个表 表中就是 SpobjectName 存储过程中的文本类容 。存储过程中一行文本对应表中一行。 把所有的SP和函数把用 exec sp_helptext 执行就得到了所有的存储过程和函数的代码。 将得到的结果放一个表中再比较异同就是了。
参考:SQL Server 联机丛书 < 数据库中存储过程的自动化生成>(http://www.vckbase.com/document/viewdoc/?id=1111) 现在只做了比较表和视图的列属性,以及存储过程和函数. 没有实现比较表之间了约束关系. 以后加上.
上一页 [1] [2] [3] [4]
|