惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
量子位
B
Blog RSS Feed
Schneier on Security
Schneier on Security
L
LINUX DO - 最新话题
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
Hacker News: Ask HN
Hacker News: Ask HN
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google DeepMind News
Google DeepMind News
N
News | PayPal Newsroom
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
PCI Perspectives
PCI Perspectives
aimingoo的专栏
aimingoo的专栏
D
Docker
T
The Exploit Database - CXSecurity.com
Last Week in AI
Last Week in AI
W
WeLiveSecurity
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
O
OpenAI News
C
Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Help Net Security
Help Net Security
Scott Helme
Scott Helme
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
V
V2EX
P
Proofpoint News Feed
Simon Willison's Weblog
Simon Willison's Weblog
A
About on SuperTechFans
S
Securelist
G
Google Developers Blog
Cyberwarzone
Cyberwarzone
The GitHub Blog
The GitHub Blog

博客园 - osbreak

ros2::tf2 QML::qml与c++数据交互 k8s:: Service 管理 deployment postgresql 索引 postgresql 基本类型 postgresql 基础运维 PLSQL 触发器 PLSQL 程序包 PLSQL 执行块 PLSQL oracle安装部署 mysql事务与隔离 mysql慢查询分析 mysql建增删改查 mysql常用总结 (9)libevent 常用设置 (8)libevent 构建libevent http服务,支持文件下载 (7)libevent filter(过滤器) (6)libevent定时器 (5)libevent evbuffer
PLSQL 基础数据类型
osbreak · 2023-12-09 · via 博客园 - osbreak

1.DCML概念

DDL:用来定义和管理数据库中的对象

CREAT TABLE /创建表/
ALTER TABLE /修改表的属性/
DROP TABLE /删除表/

DML:用来操作数据库中的对象和数据,是T-SQL中最常用的部分。

SELECT /从一个表或多个表中检索数据/
DELETE /从表中删除数据/
INSERT /向一个表中添加数据/
UPDATE /修改表中已有的数据/

DCL:用来控制用户对数据库对象操作的权限。

GRANT /授予权限/
REVOKE /回收所授予的权限/

2.Oracle 数据类型

1.1 字符数据类型

  • CHAR 数据类型存储字母数字值,列长度可以是 1 到 2000 个字节。
  • VARCHAR2 存储字母数字值,大小在1至4000个字节范围内。
  • LONG 存储可变长度字符数据,最多能存储 2GB。

1.2 二进制数据类型

  • RAW 数据类型用于存储二进制数据,最多能存储 2000 字节。
  • LONG RAW 数据类型用于存储可变长度的二进制数据,最多能存储 2 GB。

1.3 LOB 称为“大对象”数据类型,用于存储大文本、图像、视频剪辑和声音剪辑等非结构化数据

  • LOB 数据类型可存储最大 4GB 的数据
  • BLOB 将大型二进制对象存储在数据库中
  • CLOB 将大型字符数据存储在数据库中
  • NCLOB 存储大型UNICODE字符数据
  • BFILE 将大型二进制对象存储在操作系统文件中

2.PLSQL 数据类型

2.1 标量类型:提供表示表中一行的记录类型

  • 数字
BINARY_INTEGER:存储有符号整数,所需存储空间少于NUMBER类型值。
NUMBER:存储整数、实数和浮点数。
PLS_INTEGER:存储有符号整数,可使算术计算快速而有效。
  • 字符

  • 布尔型

用于存储逻辑值(TRUE、FALSE和NULL)
不能向数据库中插入BOOLEAN数据
不能将列值保存到BOOLEAN变量中
只能对BOOLEAN变量执行逻辑操作
  • 日期时间
DATE
TIMESTAMP  可以用于时间运算

2.2 LOB类型:存储非结构化数据块

  • BFILE
  • BLOB
  • CLOB
  • NCLOB
SET SERVEROUTPUT ON
DECLARE
  clob_var   CLOB;
  amount     INTEGER;
  offset     INTEGER;
  output_var VARCHAR2(100);
BEGIN
  SELECT chapter_text INTO clob_var FROM my_book_text WHERE chapter_id=5;
  amount := 24;  -- 要读取的字符数
  offset := 1;   -- 起始位置
  DBMS_LOB.READ(clob_var, amount, offset, output_var);
  DBMS_OUTPUT.PUT_LINE(output_var);
END;

2.3 属性类型:提供表示表中一行的记录类型

%TYPE 引用变量和数据库列的数据类型
%ROWTYPE 提供表示表中一行的记录类型

2.4 变量赋值

定义用户变量
SQL>DEFINE deptname = sales;
显示变量:
SQL>DEFINE deptname;
DEFINE deptname	= "sales" (CHAR) 
释放变量:
UNDEFINE deptname;

当使用DEFINE命令来定义一个包含空格的变量时,要用单引号将该变量括起来。
SQL>SELECT * 
FROM   dept 
WHERE  dname = UPPER('&deptname');
使用赋值语句 :=
使用 SELECT INTO 语句

2.5 替换变量

使用带有一个&号的变量值来提示用户输入一个值.
SET VERIFY ON
SQL> SELECT	empno, ename, sal, deptno
FROM	emp
WHERE	empno = &employee_num;

Enter value for employee_num: 7369

使用 SET VERIFY 命令:显示用某个具体值替换变量名之前和之后的命令文本
old   3: WHERE empno = &employee_num
new   3: WHERE empno = 7369
使用单引号标志替换变量中的日期和字串值
SELECT ename, deptno, sal*12
FROM   emp
WHERE  job='&job_title';
使用带有两个&的变量可以使得该变量可以重复使用,而不必在每次使用时提醒用户输入.
SELECT	empno, ename, job, &&column_name
FROM	emp
ORDER BY	&column_name;

Enter value for column_name: deptno