--PLSQL 存储过程
--问题:为何赋值没用
--不能修改输入参数 IN关键字
CREATE OR REPLACE PROCEDURE sp_hello(--建立存储过程
p_name IN emp.ename%TYPE
)
AS
BEGIN
p_name:='hello,'||p_name;
END;
CALL sp_hello('lovo');
--解决方式一:建立临时变量
CREATE OR REPLACE PROCEDURE sp_hello(--建立存储过程
p_name IN emp.ename%TYPE
)
AS
v_name VARCHAR2(20);
BEGIN
v_name:='hello,'||p_name;
dbms_output.put_line(v_name);
END;
CALL sp_hello('lovo');
--此句只能在命令里使用,记得设置set serveroutput on
--格式
set serveroutput on
EXEC sp_hello('lovo');
--输出结果:hello,lovo
--解决方式二:块中输出
--当块里使用时需注意,不能使用call
BEGIN
sp_hello('lovo');
END;
--插入:无参数过程
CREATE OR REPLACE PROCEDURE sp_hello--无参存储过程
AS
BEGIN
dbms_output.put_line('hello');
END;
--区别,不管是否有参数都要括号
CALL sp_hello();
CALL sp_hello;--错误
--命令行里,以下口令就全部正确,不管是否有括号
EXEC sp_hello();
EXEC sp_hello;
--OUT关键字
CREATE OR REPLACE PROCEDURE sp_hello(--存储过程
p_name OUT emp.ename%TYPE
)
AS
BEGIN
p_name:='hello,'||p_name;
END;
--需注意调用方式,必须用变量来接收输出变量
--结果只有hello,
DECLARE
v1 VARCHAR2(10);
BEGIN
v1:='lovo';
sp_hello(v1);
dbms_output.put_line(v1);
END;
--out参数不能输入值
--解决办法
--结果 hello,lovo
CREATE OR REPLACE PROCEDURE sp_hello(--存储过程
p_name_in IN emp.ename%TYPE,
p_name OUT emp.ename%TYPE
)
AS
BEGIN
p_name:='hello,'||p_name_in;
END;
--调用
--理解 V2相当于过程的返回值
DECLARE
v1 VARCHAR2(10);
v2 VARCHAR2(10);
BEGIN
v1:='lovo';
sp_hello(v1,v2);
dbms_output.put_line(v2);
END;
--IN OUT 一起使用
--最方便,何时使用需看情况说明
CREATE OR REPLACE PROCEDURE sp_hello(--存储过程
p_name IN OUT emp.ename%TYPE-- IN OUT
)
AS
BEGIN
p_name:='hello,'||p_name;
END;
--调用
DECLARE
v1 VARCHAR2(10);
BEGIN
v1:='lovo';
sp_hello(v1);
dbms_output.put_line(v1);
END;
分享到:
相关推荐
本学习笔记涵盖了从基础到进阶的PLSQL知识,旨在帮助读者全面理解和掌握这一强大的数据库编程工具。 1. **基础概念** - **PL/SQL块**:PLSQL程序的基本结构是块,包括声明部分、执行部分和异常处理部分。 - **...
Oracle9i SQL/PLSQL 学习笔记 自己照着书学习时候的笔记。TXT的,比较简单,希望对大家学习有帮助。 其中0 mysqlCmd.txt是我自学mysql时候的笔记,是有关于命令的。大家看看有帮助没有。 都比较精华和简单,适合...
【PLSQL学习笔记】 PLSQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一个强大编程语言,它结合了SQL的查询能力与过程式编程语言的特点,为数据库开发提供了丰富的功能。这篇学习笔记...
在本篇"PLSQL学习笔记"中,我们将深入探讨这一强大的数据库编程工具,主要涵盖以下几个核心知识点: 一、PL/SQL简介 1.1 什么是PL/SQL PL/SQL是Procedural Language/SQL的缩写,由Oracle公司开发,它扩展了SQL的...
PL/SQL 学习笔记总结 PL/SQL 是 Oracle 在标准 SQL 语言上的扩展,提供了更多的编程功能,例如定义变量和常量、使用条件语句和循环语句、例外处理等。使用 PL/SQL 可以提高开发效率和数据库性能。 PL/SQL 的优点 ...
SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言,而...随着经验的积累,开发者可以深入学习高级特性和最佳实践,如性能优化、并发控制、数据库设计等,以提升在Oracle数据库环境下的开发能力。
Oracle SQL 和 PL/SQL 是两种在 Oracle 数据库管理系统中广泛使用的语言,用于管理和操作数据库。SQL,即结构化查询语言,主要分为三个类别:DML...通过不断实践和学习,你可以更高效地管理和维护 Oracle 数据库。
【正文】 本篇笔记主要围绕Java3相关课程中的PL/SQL部分进行深入讲解,由薛海璐老师主讲,全面涵盖了PL/SQL的基础概念、程序结构、...本笔记系列将逐步引导读者掌握这些技能,为Java3课程的学习提供坚实的数据库基础。
### Oracle PL/SQL编程核心知识点解析 #### 一、创建基本表与操作 在Oracle数据库中,使用PL/SQL进行数据库编程前,首先需掌握如何创建表与进行基本的CRUD(创建、读取、更新、删除)操作。示例中的`CREATE TABLE`...
PlSql学习笔记 Oracle_PL/SQL是甲骨文数据库管理系统中的一种编程语言,用于创建存储过程、函数、触发器和包等。下面是PlSql学习笔记的详细知识点: 一、创建表 在PlSql中,创建表是最基本的操作。创建表的基本...
Java相关课程系列笔记之三PLSQL学习笔记(建议用WPS打开) Java相关课程系列笔记之十JSP学习笔记(建议用WPS打开) Java相关课程系列笔记之十二jQuery学习笔记(建议用WPS打开) Java相关课程系列笔记之十三Struts2...