--适用于SQL Server2000/2005 (转帖)
-- 也可以獲得 數據庫函數的 內容
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- GetTxtByPName '[dbo].[存储过程名]' -- GetTxtByPName 'dbo.I_Bulletin_edit'
CREATE procedure GetTxtByPName
(@ProcedureName nvarchar(100))
as
if exists (select * from dbo.syscomments
where id=object_id(N''+@ProcedureName+''))
select c.text, c.encrypted, c.number,
xtype=convert(nchar(2), o.xtype),
datalength(c.text) as txtleng, convert(varbinary(8000), c.text) as binarystr
from dbo.syscomments c, dbo.sysobjects o
where o.id = c.id and c.id = object_id(N''+@ProcedureName+'')
order by c.number, c.colid option(robust plan)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO