`
yzd
  • 浏览: 1862282 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

plsql自学笔记

 
阅读更多
--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-7)

    本学习笔记涵盖了从基础到进阶的PLSQL知识,旨在帮助读者全面理解和掌握这一强大的数据库编程工具。 1. **基础概念** - **PL/SQL块**:PLSQL程序的基本结构是块,包括声明部分、执行部分和异常处理部分。 - **...

    Oracle9iSQL/PLSQL学习笔记

    Oracle9i SQL/PLSQL 学习笔记 自己照着书学习时候的笔记。TXT的,比较简单,希望对大家学习有帮助。 其中0 mysqlCmd.txt是我自学mysql时候的笔记,是有关于命令的。大家看看有帮助没有。 都比较精华和简单,适合...

    PLSQL 学习笔记

    【PLSQL学习笔记】 PLSQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一个强大编程语言,它结合了SQL的查询能力与过程式编程语言的特点,为数据库开发提供了丰富的功能。这篇学习笔记...

    PLSQL学习笔记

    在本篇"PLSQL学习笔记"中,我们将深入探讨这一强大的数据库编程工具,主要涵盖以下几个核心知识点: 一、PL/SQL简介 1.1 什么是PL/SQL PL/SQL是Procedural Language/SQL的缩写,由Oracle公司开发,它扩展了SQL的...

    plsql学习笔记整理.docx

    PL/SQL 学习笔记总结 PL/SQL 是 Oracle 在标准 SQL 语言上的扩展,提供了更多的编程功能,例如定义变量和常量、使用条件语句和循环语句、例外处理等。使用 PL/SQL 可以提高开发效率和数据库性能。 PL/SQL 的优点 ...

    sql和plsql学习笔记

    SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言,而...随着经验的积累,开发者可以深入学习高级特性和最佳实践,如性能优化、并发控制、数据库设计等,以提升在Oracle数据库环境下的开发能力。

    Oracle SQL & PLSQL学习笔记

    Oracle SQL 和 PL/SQL 是两种在 Oracle 数据库管理系统中广泛使用的语言,用于管理和操作数据库。SQL,即结构化查询语言,主要分为三个类别:DML...通过不断实践和学习,你可以更高效地管理和维护 Oracle 数据库。

    Java3相关课程系列笔记之三PLSQL学习笔记.doc

    【正文】 本篇笔记主要围绕Java3相关课程中的PL/SQL部分进行深入讲解,由薛海璐老师主讲,全面涵盖了PL/SQL的基础概念、程序结构、...本笔记系列将逐步引导读者掌握这些技能,为Java3课程的学习提供坚实的数据库基础。

    oracle plsql编程学习笔记

    ### Oracle PL/SQL编程核心知识点解析 #### 一、创建基本表与操作 在Oracle数据库中,使用PL/SQL进行数据库编程前,首先需掌握如何创建表与进行基本的CRUD(创建、读取、更新、删除)操作。示例中的`CREATE TABLE`...

    PlSql----甲骨文学习笔记

    PlSql学习笔记 Oracle_PL/SQL是甲骨文数据库管理系统中的一种编程语言,用于创建存储过程、函数、触发器和包等。下面是PlSql学习笔记的详细知识点: 一、创建表 在PlSql中,创建表是最基本的操作。创建表的基本...

    Java相关课程系列笔记

    Java相关课程系列笔记之三PLSQL学习笔记(建议用WPS打开) Java相关课程系列笔记之十JSP学习笔记(建议用WPS打开) Java相关课程系列笔记之十二jQuery学习笔记(建议用WPS打开) Java相关课程系列笔记之十三Struts2...

Global site tag (gtag.js) - Google Analytics