通过SQL语句提取存储过程中的内容

首先,列出服务器上所有数据库。

-- 获取数据库列表
SELECT name FROM master.dbo.sysdatabases ORDER BY name

其次,这是一种让所有的用户从数据库中创建存储过程。

-- 获取存储过程列表
-- Type = ‘P‘ --> 存储过程
-- Category = 0 --> 用户创建的
SELECT * FROM sysobjects WHERE type = ‘ P ‘ AND category = 0 ORDER BY name

然后我们就可以检索查询与存储过程内容如下:

-- 获取存储过程内容
-- Name = Stored Procedure Name.
SELECT text
FROM syscomments
WHERE id = ( SELECT id FROM sysobjects WHERE name = ‘ 存储过程名称 ‘)

时间: 2024-10-13 21:33:58

通过SQL语句提取存储过程中的内容的相关文章

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

EF中使用SQL语句或存储过程

EF中使用SQL语句或存储过程或视图 1.无参数查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes ").ToList(); 2.有参查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes where [email protected] ",new SqlParameter

[转][SQL]如何实现存储过程中动态加入条件---没想到语句可以这么巧妙

在存储过程过程中,如果要实现Select查询的where子句动态查询,可以用exec ( "select .... where" [email protected])这样的方式.但这样的话,感觉用存储过程就没什么用了,因为存储过程最大的特点就是将代码编译了放在DBMS中,而调用exec的话,这一部分就无法编译,也就无从优化了.下面是一个比较巧妙的方法去实现所谓的“动态查询”select * from table1 where     a = 1     and ((@id IS NUL

SQL 检索所有存储过程中是否包含某字符

--将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' --将text替换成你要查找的内容 SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%text%

SQL语句删除表中所有记录的方法

如何用一条sql语句删除表中的所有记录,这里分享下我的方法.参考链接: sql语句如何删除重复记录?四种方法 sql语句如何删除重复记录?教程详解 TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作. 语法TRUNCATE TABLE name 参数name 是要截断的表的名称或要删除其全部行的表的名称. 注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度

Mybatis中如何在SQL语句表名中使用参数

insert into prefix_${table_name} (a, b, c) values (#{a}, #{b}, #{c}) ${} 表示直接使用字面量(literal value) #{} 表示这个是个参数 如果 table_name 是 "ABC" 则 ${table_name} 是 ABC #{table_name} 是 "ABC" Mybatis中如何在SQL语句表名中使用参数,布布扣,bubuko.com

SQL语句 在一个表中插入新字段

SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter table ListenCourses add Audio varchar(50)

SQL语句Left join 中On和Where的用法区别

SQL语句如下: SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.id = 表2.id AND 表2.Name != 'ff'WHERE 表1.NAME != 'aa' 步骤1:返回笛卡尔积(SELECT * FROM 表1 CROSS JOIN 表2) 步骤2:应用ON筛选器(当前的条件为  表1.id = 表2.id AND 表2.Name != 'ff') 步骤3:添加外部行 这一步只对OUTER JOIN起作用,如果是LEFT JOIN会以左边的表为保留表,如果是

Sql语句在SqlServer中创建数据库、表格并添加约束

通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: 1 -- 使用master数据库 2 use master 3 -- 创建数据库 4 create datebase [架构名.]数据库名 5 on [primary]--主文件数据描述 6 ( 7 name = '数据库逻辑名', --一般是数据库的名称 8 filename = '数据文件的名字',--全路径 9 size = 12mb, --数据文件