oracle的名称不可重复,参数不同也不可以重复
CREATE OR REPLACE PROCEDUREdm_p1(a VARCHAR2, b VARCHAR2)ISBEGINSELECTa+b;END;
注释不可修改
drop proceduredm_p1;
2、oracle
oracle的名称不可重复,参数不同也不可以重复
CREATE OR REPLACE PROCEDUREoracle_pro(num1 IN NUMBER, num2 IN NUMBER)ASresultNUMBER;BEGIN result := num1 + num2; END;
注释不可修改
drop procedureoracle_pro;
3、mysql
mysql名称不可重复,参数不同也不可以重复
CREATE OR REPLACE mysql_pro(IN `country` char(3),OUT `cities` INT) begin select 1; END;
drop proceduremysql_pro;
alterproceduremysql_procomment '视图注释';
4、pg
pg的名称在参数不一样时可重复
CREATE OR REPLACE PROCEDUREpg_pro()LANGUAGEsqlAS $$ select 1; $$;
CREATE OR REPLACE PROCEDUREpg_pro(IN a integer, IN b integer)LANGUAGEsqlAS $$ selecta+b; $$;
drop procedurepg_pro(IN a integer, IN b integer)commentonprocedurepg_pro(IN a integer, IN b integer)is '存储过程注释'
1、oracle
--数量SELECTCOUNT(*) FROM ALL_OBJECTS
WHERE OBJECT_TYPE='PROCEDURE'AND OWNER='LDS'AND OBJECT_NAME in('ORACLE_PROCEDURE_1');
--名称、定义、注释SELECTCASEWHEN C.LINE =1THEN B.OBJECT_NAME ELSE''ENDAS PROCEDURE_NAME,
CASEWHEN C.LINE =1THEN TO_CHAR(B.CREATED, 'YYYY-MM-DD hh24:mi:ss') ELSE''ENDAS PROCEDUR_CREATE,
C.TEXT PROCEDUR_CONTENT
FROM
( SELECT A.*, ROWNUM AS ROWNO FROM
(SELECT*FROM ALL_OBJECTS WHERE OWNER='LDS'AND OBJECT_TYPE='PROCEDURE'AND OBJECT_NAME in('ORACLE_PROCEDURE_1') ORDERBY OBJECT_NAME ASC) A
WHERE ROWNUM <=10
) B
LEFTJOIN ALL_SOURCE C ON B.OWNER=C.OWNER AND B.OBJECT_TYPE=C.TYPE AND B.OBJECT_NAME=C.NAME
WHERE B.ROWNO >0ORDERBY B.OBJECT_NAME, C.LINE;
2、mysql
--数量SELECTCOUNT(*)
FROM `information_schema`.`ROUTINES`
WHERE `ROUTINE_TYPE`='PROCEDURE'and `ROUTINE_SCHEMA`='rbc_test';
--名称、注释SELECT `ROUTINE_NAME`, `CREATED`, `ROUTINE_COMMENT`
FROM `information_schema`.`ROUTINES`
WHERE ROUTINE_TYPE='PROCEDURE'and ROUTINE_SCHEMA='rbc_test'ORDERBY ROUTINE_NAME LIMIT 0,10;
--定义SHOWCREATEPROCEDURE `db_name`.`mysql_procedure_1`;
3、DM
--数量SELECTCOUNT(*) FROM ALL_OBJECTS WHERE OWNER='public'AND OBJECT_TYPE='PROCEDURE';
--名称、定义、注释SELECT B.OBJECT_NAME AS PROCEDURE_NAME,
B.CREATED AS PROCEDUR_CREATE, C.TEXT PROCEDUR_CONTENT
FROM
( SELECT A.*, ROWNUM AS ROWNO FROM
(SELECT*FROM ALL_OBJECTS WHERE OWNER='public'AND OBJECT_TYPE='PROCEDURE'ORDERBY OBJECT_NAME ASC) A
WHERE ROWNUM <=10
) B
LEFTJOIN ALL_SOURCE C ON B.OWNER=C.OWNER AND C.TYPE='PROC'AND B.OBJECT_NAME=C.NAME
WHERE B.ROWNO >0;
4、PG
--版本在11以上才支持存储过程select version();
--数量SELECTCOUNT(*) TOTAL_NUM
FROM pg_proc pr
JOIN pg_namespace pn ON (pr.pronamespace = pn.oid)
leftJOIN pg_description pd ON (pd.objoid=pr.oid and pd.objsubid=0)
where pn.nspname ='public'AND pr.prokind='p';
--名称、定义、注释SELECT
pr.proname ||'('|| pg_get_function_identity_arguments(pr.oid) ||')'as function_name,
pg_get_functiondef(pr.oid) as function_content, pd.description
FROM pg_proc pr
JOIN pg_namespace pn ON (pr.pronamespace = pn.oid)
leftJOIN pg_description pd ON (pd.objoid=pr.oid and pd.objsubid=0)
where pn.nspname ='public'AND pr.prokind='p'orderby function_name
LIMIT 10OFFSET0;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)