oracle PL/SQL中变量和常量、内置数据类型以及使用,dbms_lob程序包操作lob类型数据,PL/SQL对序列的改进,控制结构,动态sql,自定义异常和异常处理

数据库笔试题(2) 数据库笔试题 姓名 日期 一、选择题 1、当你执行一下查询语句:SELECT empno, ename FROM emp WHERE empno=7782 OR empno=7876; 在WHERE语句中,以下哪个操作符可以取代OR? A A IN B BETWEEN …闭区间 ... 阅读详情

一.PL/SQL

1.1 概念

  PL/SQL是过程语言和结构化查询语言(sql)结合而成的编程语言;支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构;可用于创建存储过程、触发器、程序包,给SQL语句的执行添加逻辑;与oracle服务器和oracle工具紧密结合,具备可移植性、灵活性、安全性

1.2 体系结构

  PL/SQL引擎驻留在oracle服务器中,该引擎接收PL/SQL块,并对其进行编译执行

PL/SQL引擎含有 过程语句执行器
SQL引擎含有 sql语句执行器

1.3 PL/SQL块

  PL/SQL块是执行PL/SQL程序的基本单元;将逻辑上相关的声明和语句组合在一起,PL/SQL分为三个部分:声明部分、可执行部分、异常处理部分(可选)

[declare 声明部分 ]
begin 
执行语句
exception
[异常处理]
end;

如:
使打印的内容在界面显示,执行:

set serverout on;

输出emp表行数:

declare total_row number default 0;
begin
select count(*) into total_row from scott.emp;
dbms_output.put_line('一共有'||total_row ||'条');
end;
/

在这里插入图片描述

1.3.1 定义变量和常量

  PL/SQL块中可以使用变量和常量:使用之前必须在声明部分先声明; 声明时必须指定数据类型,每行声明一个标识符; 在可执行部分的sql语句和过程语句中使用;

语法:

名称 [constant] 类型 [not null]
[:=|default 表达式]

NOT NULL 的变量必须有初始化赋值

给变量赋值的方法:使用赋值语句 := 或者 使用select into语句

declare 
total_row number ;
min_SAL constant   number  default 0;
max_SAL number  not null :=10 ;
begin
select count(*),max(SAL) into total_row,max_SAL from scott.emp;
dbms_output.put_line('一共有'||total_row ||'条'||'最大'||max_SAL||'最小'||min_SAL);
end;
/

在这里插入图片描述

1.3.2 PL/SQL支持的内置数据类型
(1)标量类型

指定数值的存储类型:
  BIN_INTEGER
  NUMBER
  PLS_INTEGER

字符数据类型:
  CHAR
  VARCHAR2
  LONG
  RAW
  LONG RAW

时间数据类型:
  DATE
  TIMESTAMP

布尔数据类型:
  此类别只有一种类型,即BOOLEAN类型;用于存储逻辑值(true flase null)不能向数据库中插入BOOLEAN数据;不能将列值保存到BOOLEAN变量中;只能对BOOLEAN变量执行逻辑操作;

(2)LOB类型 存储非结构化数据

  用于存储大文本,图像,视频剪辑,声音剪辑等非结构化数据,LOB数据类型最大可存储4G的数据;

LOB类型包括:
  BLOB 将大型二进制对象存储在数据库中
  CLOB 将大型字符数据存储在数据库中
  NCLOB 存储Unicode字符数据
  BFILE 将大型二进制对象存储在操作系统文件中;

LOB类型的数据库列仅存储定位符,该定位符指向大型对象的存储位置;

DBMS_LOB程序包用于操纵LOB数据

如:读取写入大型字符数据
create table testclob(
tid number primary key,
t_info clob);
insert into  testclob values (1,'BLOB 将大型二进制对象存储在数据库中CLOB 将大型字符数据存储在数据库中
NCLOB 存储Unicode字符数据BFILE  将大型二进制对象存储在操作系统文件中');
commit;

普通的select查询,无法完全显示clob字段属性:
在这里插入图片描述

declare 
 clob_var clob;
 amount integer;
 offset integer;
 output_var varchar2(1000);
begin
 select t_info into  clob_var from testclob where tid=1;
 amount :=1000;
 offset :=1;
 dbms_lob.read(clob_var ,amount,offset,output_var );
 dbms_output.put_line(output_var );
end;
/

在这里插入图片描述

如: 存入图片文件
create table person(pid varchar2(20) primary key ,photo blob);

在这里插入图片描述
使用dba用户登录创建目录

create directory PHOTO as 'D:\c';

授权用户读写目录的权限

 grant read,write on directory PHOTO to scott;

在这里插入图片描述

create or replace procedure insertBlob(id varchar2,imgFile varchar2)
 is 
	img_file bfile;
	img_blob blob;
	lob_length number;
begin 
	insert into person values(id,empty_blob());
	select photo  into img_blob from person where pid =id;
	img_file := bfilename('PHOTO',imgFile);
	dbms_lob.open(img_file);
	lob_length :=dbms_lob.getlength(img_file);
	dbms_lob.loadfromfile(img_blob,img_file,lob_length);
	dbms_lob.close(img_file);
	commit;
	end;
	/

将图片插入

 exec insertBlob('1','a.jpg');

在这里插入图片描述

(3)属性类型

  用于引用数据库列的数据类型或表中一行记录的类型;
  使用属性变量,不需要知道被引用的表列的具体类型,如被引用对象的数据类型发生改变,PL/SQL变量的数据类型也随之发生改变

%TYPE 引用变量和数据库列的数据类型
%ROWTYPE 提供表示表中一行的记录类型
1.3.3 PL/SQL对序列的改进

在PL/SQL中取出序列的 nextval、currval时,可以不使用select语句
创建序列:

create sequence seq1 start with 1 increment by 1 maxvalue 10000 nocycle cache 10;

取出序列:

declare
	id int;
begin
	id:=seq1.nextval;
	dbms_output.put_line('id为'||id);
	end;
	/

在这里插入图片描述
在这里插入图片描述

二.控制结构

在这里插入图片描述

2.1 条件控制

IF语句

  有三种形式 IF-THEN 、IF-THEN-ELSE、IF-THEN-ELSIF

IF-THEN

empHireDate 引用HIREDATE列的类型

declare 
 empHireDate emp.HIREDATE%type;
begin 
	select e.HIREDATE into empHireDate from emp e where e.EMPNO=7934;
	if empHireDate<to_date('19900101','YYYYMMDD')
		then
		dbms_output.put_line('大于32');
		end if;
	if empHireDate>=to_date('19900101','YYYYMMDD')
		then
		dbms_output.put_line('小于32');
		end if;
	end;
 /

在这里插入图片描述

IF-THEN-ELSE
declare 
 empHireDate emp.HIREDATE%type;
begin 
	select e.HIREDATE into empHireDate from emp e where e.EMPNO=7934;
	if empHireDate<to_date('19900101','YYYYMMDD')
		then
		dbms_output.put_line('大于32');
	else
		dbms_output.put_line('小于32');
		end if;
	end;
 /

在这里插入图片描述

IF-THEN-ELSIF
declare 
 empHireDate emp.HIREDATE%type;
begin 
	select e.HIREDATE into empHireDate from emp e where e.EMPNO=7934;
	if empHireDate<to_date('19800101','YYYYMMDD')
		then
		dbms_output.put_line('大于42');
		elsif empHireDate<to_date('19900101','YYYYMMDD')
		then
		dbms_output.put_line('大于32');
		else
		dbms_output.put_line('小于32');
		end if;
	end;
 /

在这里插入图片描述

CASE语句

&job 表示在键盘上输入内容

declare
	job varchar2(20);
begin
	 job := 
	 case &job
	 	when 'A' then 'a'
	 	when 'B' then 'b'
	 	when 'C' then 'c'
	 	when 'D' then 'd'
	 	else 'e'
	 	end;
	 dbms_output.put_line(job);
	end;
	/

在这里插入图片描述

2.2 循环控制

exit when 表示退出循环;

LOOP 无条件循环
declare 
	j number;
begin
	j:=1;
	loop
		dbms_output.put_line(j||'---');
		exit when j>7;
		j:=j+1;
		end loop;
		dbms_output.put_line('结束');
	end;
/

在这里插入图片描述

WHILE 根据条件循环
declare 
	j number;
begin
	j:=1;
	while  j<9
	loop
		dbms_output.put_line(j||'---');
			j:=j+1;
		end loop;
		dbms_output.put_line('结束');
	end;
/

在这里插入图片描述

FOR 循环固定的次数

语法FOR counter IN [reverse] initial_value .. final_value LOOP sequence_of_statements; END LOOP;

declare 
	j number;
begin
	for j in 1..8
	loop
		dbms_output.put_line(j||'---');
		end loop;
		dbms_output.put_line('结束');
	end;
/

在这里插入图片描述

declare 
	j number;
begin
	for j in 1..8
	loop
		dbms_output.put_line(j||'---');
		exit when j=4;
		end loop;
		dbms_output.put_line('结束');
	end;
/

在这里插入图片描述

oracle 11g新增continue语句

将逻辑移到循环结尾,进行下一次循环

declare 
	j number;
begin
	for j in 1..18
	loop	
		exit when j>8;
		continue when j=4;
		dbms_output.put_line(j||'---');
		end loop;
		dbms_output.put_line('结束');
	end;
/

在这里插入图片描述

2.3 顺序控制

GOTO语句 无条件跳转到标签指定位置
declare 
	j number;
begin
	j:=1;
	<<aa>>
	dbms_output.put_line(j||'---');
	j:=j+1;
    if j<7 
    then goto aa;
    else goto bb;
    end if;
<<bb>>
null;    
		dbms_output.put_line('结束');
	end;
/

在这里插入图片描述

NULL语句 什么都不做语句

三.动态sql

  在PL/SQL程序执行时生成的sql语句;DDL语句命令和会话控制语句不能在PL/SQL直接使用,但可以通过动态SQL执行;
语法 execute immediate 动态sql [into 预设变量] [using 绑定变量]

在这里插入图片描述

begin
   execute immediate 'create table t(t1 int)';
   end;
   /

四.错误处理

  当运行程序发生异常,语句停止执行,控制权转移到PL/SQL块的异常处理部分;

异常有2种类型:

4.1 预定义异常:当PL/SQL程序违反oracle规则或超越系统限制时隐式引发

declare
  t1 t.t1%type;
  begin
   select t1 into t1 from t ;
   dbms_output.put_line(t1);
  end;
  /

在这里插入图片描述
ORA-01403 为预定义异常,对应no_data_found 异常

declare
  t1 t.t1%type;
  begin
   select t1 into t1 from t ;
   dbms_output.put_line(t1);
   exception
   when no_data_found then  dbms_output.put_line('没有爱了');
  end;
  /

在这里插入图片描述

4.2 用户定义异常:用户可在PL/SQL块的声明部分定义异常,自定义异常通过RAISE语句显式引发

声明异常exp1,抛出异常,处理异常

declare 
 empHireDate emp.HIREDATE%type;
 e1 exception;
 begin 
	select e.HIREDATE into empHireDate from emp e where e.EMPNO=7934;
	if empHireDate<to_date('19800101','YYYYMMDD')
		then
		dbms_output.put_line('大于42');
		elsif empHireDate<to_date('19900101','YYYYMMDD')
		then
		raise e1;
		else
		dbms_output.put_line('小于32');
		end if;
	exception
		when e1 then dbms_output.put_line('没用了');
	end;
 /

在这里插入图片描述

注:
  RAISE_APPLICATION_ERROR 用于创建用户定义的错误信息,可在可执行部分和异常处理部分使用,错误编号必须介于-20000和-20999之间,错误消息长度可长达2048个字节
语法RAISE_APPLICATION_ERROR (错误编号,错误信息)

declare 
 empHireDate emp.HIREDATE%type;
 e1 exception;
 begin 
	select e.HIREDATE into empHireDate from emp e where e.EMPNO=7934;
	if empHireDate<to_date('19800101','YYYYMMDD')
		then
		dbms_output.put_line('大于42');
		elsif empHireDate<to_date('19900101','YYYYMMDD')
		then
		raise e1;
		else
		dbms_output.put_line('小于32');
		end if;
	exception
		when e1 then dbms_output.put_line('没用了');
		raise_application_error(-20001,'没用');
	end;
 /

在这里插入图片描述

Oracle数据库大对象管理实战指南 在数字化转型不断推进的今天,数据库管理系统(DBMS)是IT基础设施不可或缺的组成部分。DBMS为存储、检索和管理数据提供了一套完整解决方案。它不仅能保证数据的安全性、完整性和一致性,而且还能通过优化查询和事务处理来提高数据访问速度。DBMS涉及多种类型,包括关系型数据库管理系统(RDBMS)、非关系型数据库管理系统(NoSQL)等,而Oracle作为RDBMS的佼佼者,它在全球范围内被广泛应用于金融、电信、制造等行业,为复杂的数据管理需求提供了强大的支持。 阅读详情

相关推荐

oracle dbms_lob

oracle dbms_lob

Oracle - DBMS_LOB函数和用法

GETLENGTH     返回指定 LOB 数据的长度的函数 DBMS_LOB.GETLENGTH(lob_loc IN BLOB/CLOB/BFILE/NCLOB) RETURN INTEGER; OPEN     打开LOB对象     DBMS_LOB.OPEN( lob_loc IN OUT NOCOPY BLOB/CLOB/BFILE, op

袭冷 4万+

PADS导出PCB正反面丝印为CAD文件的方法

本文介绍如何将PADS绘制的pcb格式的PCB文件顶底层丝印及板框导出为CAD的dxf文件格式,并且将底层丝印进行镜像为正常视角

luguodeyo的博客 3291

DBMS_LOB

1.LOB背景 在现在的系统开发中,需要存储的已不仅仅是简单的文字信息,也包括一些图片、音像资料或者超长的文本,这要求后台数据库具有存储这些数据的能力,Oracle通过提供LOB对象实现了该功能。 2.LOB 在ORACLE数据库中,LOB大对象类型是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储达4GB的数据)。目前LOB分...

axing2408的博客 909

命令行驱动视频剪辑:cutcli与AI自动化工作流实战

在视频内容创作领域,自动化与批量化处理是提升生产效率的关键。传统图形界面工具在应对重复性任务时往往效率低下,而通过命令行接口(CLI)驱动视频生成,则能实现流程的程序化控制。其技术原理在于将视频结构抽象为可编程的指令序列,通过解析命令生成标准化的工程文件。这种模式的核心价值在于将视频制作从手动操作转变为代码驱动,特别适合与AI编程助手集成,实现自然语言到视频草稿的自动转换。应用场景广泛覆盖社交媒体内容批量生产、教育视频自动化生成、数据可视化视频组装等领域。本文以cutcli工具为例,深入解析如何通过命令行与

weixin_42520239的博客 569

东方财富 vs 新浪 vs AKShare:3 种股票实时数据接口性能与稳定性实测对比

本文深度评测了东方财富、新浪和AKShare三种股票实时数据接口的性能与稳定性。通过实际测试数据,从延迟、成功率和数据完整性三个维度进行全面对比,为量化交易和数据分析开发者提供选型参考。结果显示,东方财富接口在实时性和稳定性方面表现最优,适合高频交易场景。

weixin_30800807的博客 385

oracle dbms lob,Oracle中LOB 处理(dbms_lob的一些用法)

最近做项目需要用到一些大对象数据,在网上淘了一阵子,发现了一些比较好的资料,记录了下来:主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据。主要介绍字符类型和二进制文件类型LOB数据的存储,单独介绍二进制类型LOB数据的存储。一,Oracle中的LOB数据类型分类1,按存储数据的类型分:①字符类型:CLOB:存储大量 单字节 字符数据。NLOB:存储定宽 多字节 字符数据。②二...

weixin_32263417的博客 2932

Win10自动更新怎么永久关闭?有效的Win10强制更新关闭方法

之前小编为大家分享过一些Win10彻底关闭Windows Update自动更新的方法,主要是通过一些如设置流量计费或借助一些专门的小工具来实现,但往往会发现,Win10自动更新就像打不死的小强,不管怎么关闭,之后还是会自动更新,让不少小伙伴颇为不爽。今天小编带来了这篇改进型教程,通过全方位设置,彻底关闭Win10自动更新,感兴趣的小伙伴不妨试试吧。 ...

jianai0602的博客 108万+

oracle数据库的DBMS_LOB.SUBSTR函数

函数是Oracle数据库中用于处理LOB(Large Object,大对象)数据的一部分。LOB数据类型主要包括BLOB(Binary Large Object,二进制大对象)、CLOB(Character Large Object,字符大对象)、NCLOB(National Character Large Object,国家字符集大对象)和BFILE(Binary File,二进制文件)。函数特别用于从这类大对象字段中提取子字符串,它在处理CLOBNCLOB等类型时非常有用。

文牧之的博客 6227

Maltab GUI课程设计——网络爬虫程序(基金连涨连跌提醒)

Maltab GUI课程设计——网络爬虫程序(基金连涨连跌提醒)

果果爱腰果的博客 848

单细胞专题(1) | 单细胞转录组研究样本准备指南(上)

单细胞RNA测序(scRNA-seq)是目前最前沿,能进行大规模实验的转录组研究技术,为理解细胞组成和动态生物学过程提供了很多新的见解。单细胞研究已经为我们理解发育过程,老化和疾病(如癌症)等提供了大量数据。在这里,小编主要就前期的样本准备与保存需注意问题给大家进行讲解,以备大家在不同的研究场景和研究背景下,走好单细胞转录组学研究的第一步。

bioyigene的博客 4228

21.Oracle的程序包(Package)

Oracle11g的package是一种封装了一组相关的过程、函数、变量和常量的数据库对象。它是一种可重用的程序模块,可以在不同的应用程序中使用。Package是Oracle数据库中的一种高级编程技术,它可以让程序员将相关的代码封装在一起,提高代码的可重用性、可维护性和安全性。程序包是对相关过程、函数、变量、游标和异常等对象的封装程序包由规范和主体两部分组成。

qq_46645079的博客 3876

华为od 面试八股文_前端_02_含答案

华为od 面试八股文_前端_02_含答案

MISAYAONE的博客 1997

PL(Procedural Language)/SQL程序设计语言

PL/SQL编程

qq_33445829的博客 4194

【占用网络】OccNet: Scene as Occupancy 适用于检测、分割和规划任务 ICCV2023

本文分享“占用网络”方案中,具有代表性的方法:OccNet。它以多视角视觉为核心,首先生成BEV特征,然后通过级联结构和时间体素解码器重建生成3D占用特征。构建一个通用的“3D占用编码特征”,用以表示3D物理世界。这样的特征描述可以应用于广泛的自动驾驶任务,包括检测、分割和规划。

黎国溥 3360

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

PL/SQL学习笔记#01 -- 变量定义

Oracle中PL/SQL这部分的学习刚刚开始。教程中有几句话很在意:1.变量在定义的同时也可以将其说明成常量并赋予固定的值。2.变量的命名规则是:以字母开头,后跟其他的字符序列,字符序列中可以包含字母、数值、下划线等符号,最大长度为30个字符,不区分大小写。3.变量名不要和在程序中引用的字段名相重,如果相重,变量名会被当作列名来使用。常量的定义:变量名 CONSTANT 类型标识符 [NOT N

kagebusha的专栏 1038

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

oracle 快速入门之第六章 触发器&内置程序包

一:触发器 1.触发器的关键词:trigger 2.概述:是一个特殊的存储过程,而存储过程又是一个特殊的函数 当执行DML(数据操纵语言)语句时,触发器就会自动触发并且自动执行,而不是像函数那样需要手动调用。 3.触发器的语法: create or replace trigger t_name before|after insert|delete|update on table|view for each row begin 触发器的操作 end; 4.语法解释--------...

qq_61313896的博客 3049

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

pl/sql之base

PL/SQL 块是构成 PL/SQL 程序的基本单元 PL/SQL 分为三个部分,声明部分、可执行部分和异常处理部分. [ DECLARE declarations ] BEGIN executable statements; [ EXCEPTION handlers ] END; 加粗样式声明变量和常量的语法: identifier [CONST...

michael_linux的博客,一个小小小学生。滴水穿石,步步为营,只为那刹那芳华。 353

Oracle dbms_sql 实战:用 PL/SQL 动态 SQL 打通 TaoToken 配置骨架

用 dbms_sql 把 AI 工具配置骨架动态写入 Oracle:建 ai_tool_config 表,通过 open_cursor、parse、bind_variable、execute 落地 config.toml 与 settings.json,再用 define_column 动态查询取出,填入 TaoToken 的 base_url 与 Key 验证通道。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

Ceshi01的博客 12

ORACLE常用的SQL语法和数据对象

ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分  1.INSERT (往数据表里插入记录的语句)    INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);   INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;    字符串类型的字

zw393的专栏 1087

Oracle - 批量操作FOR ALL,提升数据处理效率

Oracle - 批量操作 FOR ALL,提升数据处理效率 🚀 在企业级数据库应用中,Oracle 的 FORALL 语句是提升批量数据处理性能的关键工具。本文通过对比分析、原理剖析和实战演示,系统介绍了 FORALL 的高效应用。 核心要点 性能对比:FORALL 比逐行处理快 12.7 倍(万条数据测试) 工作原理: 单次 SQL 解析,批量执行 内部使用绑定数组,减少网络往返 服务端内存操作,降低上下文切换 Java 集成: 通过 JDBC 调用 PL/SQL 批量过程 使用 ARRAY 和 ST

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

oracle lob字段处理

Oracle和plsql都支持lob(large object) 类型,用来存储大数量数据,如图像文件,声音文件等。Oracle 9i realse2支持存储最大为4g的数据,oracle 10g realse1支持最大8到128万亿字节的数据存储,依赖于你的db的block size。 在plsql中可以申明的lob类型的变量如下: BFILE 二进制文件,存储在数据库外...

dfgppwzkb17977379的博客 237

Oracle 11g PL/SQL(基础一)

Block Types 匿名块是不存储在数据库里的, 有名块可以重复调用 set serveroutput on declare    v_fname varchar2(20);    begin     select '111' into v_fname from dual;    dbms_output.put_line('The result '||v_fname );

夜归人 693

Oracle数据库相关

Oracle数据库相关1、数据库系统2、数据库2.1、数据库的结构2.2、数据库种类3、SQL语言4、Oracle数据库4.1、下载及安装4.2、服务的开启4.3、GUI工具4.4、用户的创建4.5、表空间4.5.1、概念4.5.2、表空间的作用4.5.3、创建表空间4.5.3、删除表空间4.6、数据库表4.6.1、相关说明4.6.2、数据表的创建4.6.3、数据表的查询4.6.4、数据表的修改4.6.5、数据表的删除4.7、数据约束4.7.1、数据约束的目的4.7.2、主键约束4.7.3、外键约束4.7.

qq_42640067的博客 2701

异构数据库迁移怎么做?Oracle到MySQL数据类型映射+存储过程改写实战

Oracle到MySQL的异构迁移实战,整理数据类型映射对照、PL/SQL改写规则、三层数据校验方法,以及实际项目中遇到的兼容性问题排查记录。

「一个在数据库赛道上边学边分享的学妹」——聚焦国产数据库/信创方向、分享学习笔记、踩坑经验和行业观察。 348

Oracle数据类型 详解

数据结构是以表和列的形式实现的。数据类型数据类型(datatype)是列(column)或存储过程中的一个属性。Oracle支持的数据类型可以分为三个基本种类:字符数据类型、数字数据类型以及表示其它数据的数据类型。字符数据类型CHAR  CHAR数据类型存储固定长度的子符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1。如果对某个CHAR...

wz_TXWY的博客 1641
上一篇: ORA-01536: 超出表空间 ‘USERS‘ 的空间限额
下一篇: oracle 游标的含义,三类游标的使用方式,fetch...bulk collect into批量提取数据
但行益事莫问前程
但行益事莫问前程 新星创作者: 数据库技术领域 新星创作者: 数据库技术领域
博客等级 码龄7年 8490粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但行益事莫问前程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值