可以查询存储过程的脚本: 可以查询表名,视图名,存储过程名等 【2】方式: 1.获取所有数据库名: (1)、Select Name FROM Master..SysDatabases order by Name (2)、SELECT name FROM sysobjects WHERE type = ''U'' AND sysstat = ''83'' 注意:一般情况只需要type = ''U'',但有时候会有系统表混在其中(不知道什么原因),加上后面一句后就能删除这些系统表了 (2)、SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND "syscolumns.id = object_id(''tableName'') 注意点:
4、得到表中主键所包含的列名: SELECT syscolumns.name FROM syscolumns,sysobjects,sysindexes,sysindexkeys WHERE syscolumns.id = object_id(''tablename'') AND sysobjects.xtype = ''PK'' AND sysobjects.parent_obj = syscolumns.id AND sysindexes.id = syscolumns.id AND sysobjects.name = sysindexes.name AND sysindexkeys.id = syscolumns.id AND sysindexkeys.indid = sysindexes.indid AND syscolumns.colid = sysindexkeys.colid 注意:这是在4张系统表中寻找的,关系比较复杂,大致可以表示为:
获取存储过程也可以使用: EXEC sp_helptext @objname='GuestComplaintsAndNetCommentReport' EXEC sp_helptext 'GuestComplaintsAndNetCommentReport' 根据名称获取存储过程内容的例子: select * from syscomments SELECT sobj.id,sobj.name,comment.text 获取表列名操作: SELECT * FROM sysobjects SELECT * FROM syscolumns |
获取sql所有存储过程脚本,获取sql表名,视图名,存储过程名,列名等
【1】方式: