如何用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用法