提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:莫成敏|2019-11-14 14:02:23.197|阅读 621 次
概述:对于一般的新手来说,首先要了解什么是PL/SQL?知道了PL/SQL的入门知识,才能更好的使用PL/SQL Developer工具。本文主要介绍了PL/SQL是什么,以及PL/SQL 变量等内容~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
PL/SQL Developer是一个集成开发环境,它专门针对Oracle数据库的存储程序单元的开发所用。开发Oracle应用程序的时候都注重于开发工具简单易用,代码简洁和开发效率高等特点。
对于一般的新手来说,首先要了解什么是PL/SQL?知道了PL/SQL的入门知识,才能更好的使用PL/SQL Developer工具。本文主要介绍了PL/SQL是什么,以及PL/SQL 变量等内容~
PL/SQL是是由甲骨文公司在90年代初开发,以提高SQL的功能。PL/SQL是嵌入在Oracle数据库中的编程语言之一,是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。
简而言之,PL/SQL是一门为扩展Oracle中SQL功能的编程语言。
在 PL/SQL Developer 开发工具中打开 SQL commoned 窗口可以进行PL/SQL 开发。 在左上角有输出框。可以查看由dbms_output.put_line( )得到的结果。
先来个Hello world 展示一下吧!
declare msg varchar(20); begin msg := 'Hello world ! '; dbms_output.put_line(msg); exception -- 单行注释 /* * 多行注释 ,这部分是异常处理模块,可有可无。 */ end;
declare 声明部分 ——所有变量,游标,子程序,和其他元素
begin - end ; –——程序主体,可执行命令
PL/SQL中常见符号解释:
|| | 字符串连接符 |
:= | 赋值运算符 |
% | 属性索引 使用%type可以使变量获得与字段相同的数据类型,用于不知道给什么类型才合适的变量 |
= | 相等运算符 |
谈一种编程语言,肯定要说变量和数据类型呀!
PL/SQL 变量命名 : 由数字,字母,下划线,美元符号组成。字母开头。
变量分类:局部变量和全局变量。
变量的常见类型:
varchar2 : 可变长字符串
int : 整数类型
number (precision,scale) :1.、precision表示数字中的有效位,如果没有指定precision的话,oracle将使用38作为精度;2、 如果scale大于零,表示数字精度到小数点右边的位数;scale默认设置为0;如果scale小于零,oracle将把该数字取舍到小数点左边的指定位数。
clob: 用于存储字符大块数据在数据库中 大小为 8 - 128 TB
date : 日期和时间
变量的定义分为局部变量和全局变量。
DECLARE -- Global variables num1 number := 95; num2 number := 85; BEGIN dbms_output.put_line('Outer Variable num1: ' || num1); dbms_output.put_line('Outer Variable num2: ' || num2); DECLARE -- Local variables num1 number := 195; num2 number := 185; BEGIN dbms_output.put_line('Inner Variable num1: ' || num1); dbms_output.put_line('Inner Variable num2: ' || num2); END; END;
SQL的SELECT INTO子句给PL/SQL变量赋值
declare c_id customers.id%type := 1; c_name customers.name%type; c_addr customers.address%type; c_sal customers.salary%type; begin select name,address,salary into c_name,c_addr,c_sal from customers where id = c_id; dbms_output.put_line('Customer '||c_name||' from '||c_addr||' earns '||c_sal); end;
PL/SQL 中的常量:
PI constant number := 3.14;
很不习惯呀,常量和变量名放在前面,数据的类型放在后面。。。
PL/SQL 中的运算符:
PL/SQL 中的条件控制语句:
注意: 每一次 if 结构结束都要用 end if; 这才表示 if 结束。
DECLARE a number(3) := 100; BEGIN IF ( a = 10 ) THEN dbms_output.put_line('Value of a is 10' ); ELSIF ( a = 20 ) THEN dbms_output.put_line('Value of a is 20' ); ELSIF ( a = 30 ) THEN dbms_output.put_line('Value of a is 30' ); ELSE dbms_output.put_line('None of the values is matching'); END IF; dbms_output.put_line('Exact value of a is: '|| a ); END;
CASE 结构:
declare grade char(1) := 'A'; begin case grade when 'A' then dbms_output.put_line('A'); when 'B' then dbms_output.put_line('B'); else dbms_output.put_line('NO'); end case; end;
PL/SQL 中的循环控制语句:
举例说明:
DECLARE x number := 10; BEGIN LOOP dbms_output.put_line(x); x := x + 10; IF x > 50 THEN exit; END IF; END LOOP; -- after exit, control resumes here dbms_output.put_line('After Exit x is: ' || x); END;
DECLARE a number(2) := 10; BEGIN WHILE a < 20 LOOP dbms_output.put_line('value of a: ' || a); a := a + 1; END LOOP; END;
DECLARE a number(2); BEGIN FOR a in 10 .. 20 LOOP -- 10 .. 20 表示10-20 全包含 dbms_output.put_line('value of a: ' || a); END LOOP; END;
常用的操作字符串的函数:
UPPER(x) :x转换为大写字母,并返回该字符串
TRIM([trim_char FROM) x) : 从左侧和右侧修剪x字符的空格
SUBSTR(x, start [, length]) : 返回x的一个子开始于由start指定的位置。可选长度为子字符串
CHR(x) : 返回字符 x 的 ASCII 值
CONCAT(x, y) : 连接字符串x和y,并返回附加的字符串
INITCAP(x) : 每个单词的首字母x中转换为大写,并返回该字符串
INSTR(x, find_string [, start] [, occurrence]) :搜索find_string在x中并返回它出现的位置
INSTRB(x) : 返回另一个字符串中字符串的位置,但返回以字节为单位的值
LENGTH(x) : 返回x中的字符数
LOWER(x) : 在x转换为小写字母,并返回该字符串
LTRIM(x [, trim_string]) : 从x的左修剪字符
想要购买PL/SQL Developer正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢