sql server 批量导出存储过程


sys.syscomments:包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始的 SQL 定义语句。(简单点说,这个系统表存储了我们创建的存储过程、视图等的源码,通过查询该系统表可以查看创建的存储过程等源码。SQL Server2000引入

sys.sql_modules:对每个 SQL 语言定义的模块对象都返回一行。类型为 P、RF、V、TR、FN、IF、TF 和 R 的对象均有关联的 SQL 模块。在此视图中,独立的默认值,即 D 类型的对象也具有 SQL 模块定义。(SQL Server 2005引入

 
--查询存储过程,复制TEXT部分即可参考: http://bbs.csdn.net/topics/320261131#post-322618161
select  b.[ name ],a.[text] 
from  syscomments A 
inner    join  sysobjects B   on  A.ID = B.ID 
where  b.xtype = 'P'


--导出所有表中自定义方法
select   b . [ name] , a . [text]  
from   syscomments   A  
inner    join   sysobjects   B    on   A . ID = B . ID  
where   b . xtype = 'FN'
 

后续版本的 Microsoft SQL Server 将删除该功能。请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。 我们建议您改用 sys.sql_modules。   有关详细信息,请参阅   sys.sql_modules (Transact-SQL)

 

使用sys.sql_modules来导出所有自定义函数,存储过程

SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o. type, o.type_desc, sm.definition
FROM sys.sql_modules AS sm
JOIN sys.objects AS o ON sm.object_id = o.object_id
ORDER BY o. type;
GO

 

系统视图(sys.syscomments): http://msdn.microsoft.com/zh-cn/library/ms186293.aspx

系统视图(sys.sql_modules):http://msdn.microsoft.com/zh-cn/library/ms175081.aspx

 
 





免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM