mysql,sqlserver,oracle查看所有存储过程,函数,视图,触发器,表

时间:2022-09-27 13:54:37


如何用sql查询获取数据库的所有触发器,所有存储过程,所有视图,所有表.

方法一:

       select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE'   //存储过程
       select `name` from mysql.proc where db = 'your_db_name' and `type` = 'FUNCTION'   //函数

方法二:

         show procedure status; //存储过程

        show function status;     //函数

查看存储过程或函数的创建代码

show create procedure proc_name;
show create function func_name;

查看视图

SELECT * from information_schema.VIEWS   //视图

SELECT * from information_schema.TABLES   //表

查看触发器

方法一:
语法:SHOW TRIGGERS [FROM db_name] [LIKE expr]
实例:SHOW TRIGGERS\G     //触发器

方法二:
对INFORMATION_SCHEMA数据库中的TRIGGERS表查询
SELECT * FROM triggers T WHERE trigger_name=”mytrigger”

可以从information_schema架构下的系统表查看
-- 查看约束
SELECT * FROM information_schema.`TABLE_CONSTRAINTS`;
-- 查看触发器
SELECT * FROM information_schema.`TRIGGERS`;


以上为mysql用法


select name from sysobjects where xtype='TR' --所有触发器
select name from sysobjects where xtype='P' --所有存储过程
select name from sysobjects where xtype='V' --所有视图
select name from sysobjects where xtype='U' --所有表

以上为SqlServer用法

Select object_name From user_objects Where object_type='
TRIGGER';  --所有触发器
Select object_name From user_objects Where object_type='
PROCEDURE';  --所有存储过程
Select object_name From user_objects Where object_type='VIEW';  --所有视图
Select object_name From user_objects Where object_type='TABLE'; --所有表

以上为
Oracle用法