plsql操作数据库之简介和声明变量

xiaoxiao2021-02-28  32

这篇文章介绍的是pl/sql数据库语言,如有错误或者不当之处,希望各位大神批评指正。

什么是pl/sql?

PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有 Oracle 数据库有。 MySQL 目前不支持 PL/SQL 的,但支持Navicat Premium。是面向过程的语音

pl/sql可用的sql语句

DML INSERT,UPDATE,DELETE,SELECT INTO,DDL CREATE , DROP ,TRUNCATE ,ALTER DCL COMMIT,ROLLBACK,SAVEPOINT。

pl/sql块

pl/sql块由声明部分、执行部分、异常处理部分组成,结构如下:

DECLEAR /*声明部分:声明pl/sql用到的变量类型及游标,及局部的存储过程及函数*/ BEGIN /*执行部分:过程及sql语句,是程序的主要部分*/ EXCEPTION /*异常部分:错误处理*/ END /*sql块结束*/

注:其中,执行部分是必须的

简单的例子 --启用输出 set serveroutput on declare /*声明变量,类型,游标*/ begin /*对程序的执行部分,类似于java中的main方法*/ dbms.output('hello pl/sql!') ; --exception /*对begin发生的异常进行处理 when...then... when...then...*/ end ; /*pl/sql代码块结束*/

声明变量DECLARE

声明变量的规范

标识符命名规则例子程序变量V_nameV_name程序常量C_NameC_company_name游标变量Name_cursorEmp_cursor异常标识E_nameE_too_many表类型Name_table_typeEmp_record_type表Name_tableEmp记录类型Name_recordEmp_recordSQL*Plus替代变量P_name绑定变量G_nameG_year_sal

注:变量的类型同oracle

声明变量

例假设有表student,查询学生的年龄,姓名,性别 declare --声明变量 v_age number(3) ; v_name varchar(200) ; v_sex char(2); --或者 v_age student.age%type ; v_name student.name%type ; v_sex student.sex%type ; begin select age,name,sex into v_age,v_name,v_sex from student where id = 100001 ; dbms_output.put_line(v_name||','||v_age||','||v_sex) ; end ;

注:数据类型要对应,长度要大于等于查的字段的长度,推荐使用变量名%type取对应字段

声明记录类型

记录类型:记录类型是把逻辑相关的数据作为一个单元存储起来,它必须包括至少一个标量型或RECORD 数据类型的成员,称作PL/SQL RECORD 的域(FIELD),其作用是存放互不相同但逻辑相关的信息。

-例,定义一个记录类型用于查学生

declare /*定义记录类型*/ type student_recode is record( v_age student.age%type , v_name student.name%type , v_sex student.sex%type ); /*声明记录类型*/ v_student_record student_recode ; /*或者使用直接使用rowType*/ v_student_record student%rowType ; begin select age,name,sex into student_recode from student where id = 100001 ; dbms_output.put_line(v_student_record.v_name||','||v_student_record.v_age||','||v_student_record.v_sex) ; end ; table%rowType:返回类型与table中的列类型一致param%Type:返回类型与param字段一致

ql/sql的赋值符为 := 逻辑运算符、关系运算符、算术运算符同oracle的相关运算符

转载请注明原文地址: https://www.6miu.com/read-1600391.html

最新回复(0)