惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
O
OpenAI News
V
V2EX
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
S
Schneier on Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
小众软件
小众软件
L
LINUX DO - 热门话题
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - Franky
Security Latest
Security Latest
S
SegmentFault 最新的问题
Project Zero
Project Zero
Spread Privacy
Spread Privacy
K
Kaspersky official blog
J
Java Code Geeks
V
Vulnerabilities – Threatpost
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
Scott Helme
Scott Helme
WordPress大学
WordPress大学
量子位
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Simon Willison's Weblog
Simon Willison's Weblog
S
Secure Thoughts
博客园 - 【当耐特】
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Visual Studio Blog
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
腾讯CDC
Cyberwarzone
Cyberwarzone
IT之家
IT之家
GbyAI
GbyAI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
云风的 BLOG
云风的 BLOG
T
Troy Hunt's Blog
D
Docker

博客园 - TwinStudio

Stable Diffusion AI 绘画使用 chartGPT 是什么?如何使用chartGPT? ChatGPT指令大全(建议收藏) Vue3开发教程(一、学习Vue前需要了解的内容) mysql用mysqldump命令进行数据库备份与迁移 领导更喜欢的日报,长这样 Vue3快速上手,Vue3全解 MySQL优化常用的19种有效方法(推荐!) idea常用快捷键大全 MySQL的优化多种方法(至少15条) Cisco Systems VPN Client 显示不出 主界面 怎么点都打不开。我重装过了。又重新安装了。也没用 360也把他添加白名单 也显示不出= = - TwinStudio PL/SQL 工具中 TIMESTAMP 显示转换问题 基于Azkaban的任务定时调度实践 帆软报表开发步骤 Oracle归档日志分析 Oracle查询归档日志 帆软设置浏览内容宽度为屏幕宽度 JS修改下拉框控件的默认文字“不选” 帆软设置下拉框参数为空选择全部
oracle存储过程和存储函数sql
TwinStudio · 2022-05-18 · via 博客园 - TwinStudio

备注:oracle数据库表字段和表名最好都用大写,不然都要用双引号,比如:表名为:"Patient"     字段名为:"PatientID"

若是创建的时候用的表名为PATIENT和字段为PATIENTID   使用的时候就不用双引号

--带输出参数的存储过程
CREATE OR REPLACE PROCEDURE INSERTPATIENT(
SURNAME VARCHAR,
FIRSTNAME VARCHAR,
PREFIX VARCHAR,
SEX VARCHAR,
DOB DATE,
NEWPATIENTID OUT INT)
AS
BEGIN
SELECT SEQ_PATIENTID.NEXTVAL INTO NEWPATIENTID FROM DUAL;
INSERT INTO PATIENT (PATIENTID, FAMILYNAME, GIVENNAME, TITLE, GENDER, DATEOFBIRTH)
VALUES (NEWPATIENTID, SURNAME, FIRSTNAME, PREFIX, SEX, DOB);
END;

--带结果集的存储过程
CREATE OR REPLACE PROCEDURE LOOKUPPATIENT (
PATIENTID INT,
P_CURSOR OUT SYS_REFCURSOR)
AS
BEGIN
OPEN P_CURSOR FOR SELECT FAMILYNAME, GIVENNAME, TITLE, GENDER, DATEOFBIRTH FROM PATIENT WHERE PATIENTID = PATIENTID;
END;

--存储函数返回结果集
CREATE OR REPLACE FUNCTION LOOKUPPATIENTFUN(
PATIENTID INT)
RETURN SYS_REFCURSOR
AS
P_CURSOR SYS_REFCURSOR;
BEGIN
OPEN P_CURSOR FOR SELECT FAMILYNAME, GIVENNAME, TITLE, GENDER, DATEOFBIRTH FROM PATIENT WHERE PATIENTID = PATIENTID;
RETURN P_CURSOR;
END;