首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从information_schema.routines或Sys.sql_modules获取全文格式存储过程(完整代码)

如何从information_schema.routines或Sys.sql_modules获取全文格式存储过程(完整代码)
EN

Stack Overflow用户
提问于 2017-05-11 19:38:35
回答 4查看 615关注 0票数 0

如何使用脚本从information_schema.routines或Sys.sql_modules获取全文格式存储过程(完整代码):--

代码语言:javascript
复制
select top 1 cast(ROUTINE_DEFINITION  as TEXT)
FROM information_schema.routines
where ROUTINE_NAME like '%XXXXXXX%'  

代码语言:javascript
复制
SELECT  *
FROM    Sys.sql_modules 
WHERE   definition LIKE '%XXXXXXXXXXXXXXX%'  
EN

回答 4

Stack Overflow用户

发布于 2017-05-11 20:17:51

在SQL Server中,INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION视图列被定义为nvarchar(4000),因此返回的字符不会超过4000个。使用sys.sql_module.definition将定义返回为nvarchar(MAX)。不要使用过时的text数据类型。

请注意,SSMS可能会根据Query->Options-->Results设置截断值。

票数 0
EN

Stack Overflow用户

发布于 2017-05-11 20:37:57

希望能对你有所帮助

代码语言:javascript
复制
SELECT SPECIFIC_NAME
        ,CAST(ROUTINE_DEFINITION AS NVARCHAR(MAX))As ROUTINE_DEFINITION
    FROM INFORMATION_SCHEMA.ROUTINES
    WHERE ROUTINE_TYPE IN (
            'PROCEDURE'
            ,'FUNCTION'
            )
        AND ROUTINE_DEFINITION LIKE '%Your search string%'
    ORDER BY 1
票数 0
EN

Stack Overflow用户

发布于 2020-08-05 04:12:47

如下所示:

Where does SQL Server store the stored procedure code?

此SQL将在不截断结果的情况下工作:

代码语言:javascript
复制
select object_definition(object_id(routine_name)) from information_schema.routines
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43914377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档