首页 > 数据库 >数据库编程概述

数据库编程概述

时间:2023-07-13 10:11:06浏览次数:30  
标签:输出 dbms 数据库 编程 概述 sql output pl

数据库编程概述

PL/SQL Procedure Language 封装了sql语句的过程语言。

如何在数据库中定义过程语言。

Declare
声明变量;
begin
程序处理过程;
exception
end;
--eg1:查询目标工资打印输出
set serveroutput on; ---开启输出
declare
v_name varchar2(20);
v_sal   number;
begin
select empname,sal into v_name,v_sal from emp where empid='01';
dbms_output.put_lin('你好:'||v_name);
dbms_output.put_lin('你的工资为:'||v_sql);
end;
PL/SQL的基本构成

PL/SQL是sql语言的扩展,具有程序开发而设计的特性,如数据封装,异常处理,面向对象等特性。pl/sql是嵌入到Oracel服务器和开发工具中的,所以具有很高的执行效率和同Oracle数据库的完美结合。在pl/sql模块中可以使用查询语句和数据操纵语句(即进行DML操作),这样就可以编写具有数据库事务处理功能的模块。

至于数据定义(DDL)和数据控制(DCL)命令的处理,需要通过Oracle提供的特殊的DBMS_SQL包来进行。pl/sql还可以用来编写过程,函数,包及数据库的触发器。过程和函数也称为子程序,在定义时要给出相应的过程名和函数名。他们可以存储在数据库中成为存储过程和存储函数,并可以由程序来调用,他们在结构上同程序模块类似。

pl/sql过程化结构的特点:可将逻辑上相关的语句组织在一个程序块内:通过嵌入或调用子块,构造功能强大的程序:可将一个复杂的问题分解成为一组便于管理,定义和实现的小块。

块结构和基本语法要求

pl/sql程序的基本单元是块(block),块是实现一定功能的逻辑模块,一个pl/sql程序由一个或多个块组成,块有固定的结构,也可以嵌套。一个块可以包括三部分,每个部分由一个关键字标识。

块中的各个部分作用解释如下:

  1. DECLARE:声明部分的标志。

  2. begin:可执行部分标志。

  3. EXCEPTION:异常处理部分标志。

  4. end:程序结束标志。

DBMS_OUTPUT是oracle提供的包,该包有三个用于输出的函数,用于显示pl/sql程序模块的输出信息。

  • dbms_output.put(字符串表达式):用于输出字符串,但不换行,括号中的参数是字符串表达式。

  • dbms_output.put_line(字符串表达式):用于输出一行字符串信息,并换行,括号中的参数是要输出的字符串表达式。

  • dbms_output.new_line:用来输出一个换行,没有参数。

使用该方法显示输出数据,在SQL*PLUS环境下先执行一次如下的环境设置命令:

set serveroutput on [size n]

用来打开dbms_output.put_line函数的屏幕输出功能,系统默认状态是off。其中,n标识输出缓冲区的大小。n的范围在2000~1000000之间,默认是2000。如果输出内容较多,需要使用size n来设置较多的输出缓冲区。

 

标签:输出,dbms,数据库,编程,概述,sql,output,pl
From: https://www.cnblogs.com/xjianbing/p/17549626.html

相关文章

  • 【雕爷学编程】Arduino动手做(160)---海凌科HLK-V20离线语音模块
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题......
  • 数据库模式对象
    数据库模式对象对象名称作用TABLE表存储数据的基本结构最小单元VIEW视图以不同的侧面反映表的数据,是一种逻辑上的表INDEX索引加快表的查询速度CLUSTER聚簇将不同表的字段并用的一种特殊结构的表集合SEQUENCE序列生成数字序列,用于在插入时自动填充表......
  • 向量数据库的崛起:从矢量搜索到深度学习 (二)
    前言在上一节中,我们简要介绍了向量数据库的背景以及对非结构化数据进行向量化的方法,即Embedding。那么我们如何将这些特征向量应用于搜索任务呢?在搜索任务中,最常见的情况是从数据库中查找与给定向量最相似的数据。因此,我们需要一种能够衡量向量之间相似程度的算法,这也是本节将要......
  • mysql数据库2
    约束条件 在数据类型的基础上再添加限制条件"""约束条件的意思是,在数据类型的基础上再添加限制条件"""'约束条件通常在创建表的时候添加'。1.unsigned去除符号(一般用过来去除负号(-)也可用来取出@*/等特殊符号)createtablet1(idintunsigned);2.zerofill位数......
  • Go并发编程学习
    想起来还不是很熟悉Go的并发编程,趁现在有空学一下。找了一些资料,感觉也不是很好,最终选择看这本书(看到一些大佬推荐的)本章作为这个书的目录部分索引,会一直更新到这本书看完,算是立个flag吧。2023-7-12:更新第一章初识Go语言Go并发编程实战第一章初识Go语言......
  • 2023烟台7天编程集训笔记3
    次小生成树:第二小的生成树。次小生成树:删掉一条边,再加上一条边,使得差值尽量小,并且要是一个树。次小生成树:如果一条边在最小生成树上,我们就叫他树边,如果不在最小生成树上就叫他非树边。次小生成树:删掉一条树边,加上一条非树边。次小生成树:倍增LCA询问环上最大的值(章鱼图)。从......
  • 【雕爷学编程】Arduino动手做(113)---5110液晶屏模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是......
  • 2023烟台7天编程集训笔记2
    倍增点击查看代码//最大值不支持减法操作//倍增代码,求区间的最大值#include<bits/stdc++.h>usingnamespacestd;intn,a[1000000],f[100000][20];//f的j次方开到20就可以达到1000000intx[100010];//x[i]代表长度为i的区间,用两个长度为2^x[i]的区间能够覆盖intmain()......
  • 2023烟台7天编程集训笔记
    sort函数:把数组从小到大排序max函数:求出两个数的最大值min函数:求出两个数的最小值unique函数:使用前提是先排好序,再使用,效果是去重merge_sort归并排序reverse函数:翻转数组random_shuffle函数:把a[1]到a[n]随机打乱swap函数:交换两个数没有单调性不能二分位运算运行速度比加......
  • 数据库参数设置
    数据库参数设置设置:数据库的帐套号,帐套名称,数据库类型,用户名,密码,数据库IP,数据库端口,数据库名称,数据库驱动的动态库 ......