Loops with PL/SQL】的更多相关文章

1. Basic loop loop /* statements */ end loop; 2. While loop while a > b loop /* statements */ end loop 3. For loop for i in 1..1000 loop insert into a values(i,i*2); end loop; for i in reverse 1..1000 loop insert into a values(i,i*2); end loop; 4. Cu…
http://plsql-tutorial.com/plsql-procedures.htm What is PL/SQL? PL/SQL stands for Procedural Language extension of SQL. PL/SQL is a combination of SQL along with the procedural features of programming languages. A Simple PL/SQL Block: Each PL/SQL prog…
Control Structures of PL/SQL Control structures are probably the most useful (and important) part of PL/pgSQL.With PL/pgSQL's control structures, you can manipulate PostgreSQL data in a very flexible and powerful way. 1.Returning From a Function RETU…
PL/SQL 基础 ( 下 )   1. PL/SQL中的 SQL语句 - END语句与COMMIT等内容,没有任何关系. - PL/SQL does not directly support data definition language( DDL ) statements, such as CREATE TA BLE, ALTER TABLE, or DROP TABLE. - PL/SQL does not support data control language( DCL ) sta…
SQL is not very flexible and it cannot be made to react differently to differing sutuations easily. In  SQL queries we normally tell database what we want but not tell it how to do it. SQL : give commands, commands complete with ; PL/SQL : follow the…
IF逻辑结构:IF-THEN-END IFIF-THEN-ELSE-END IFIF-THEN-ELSIF-END IF 语法 IF condition THEN  statements;[ELSIF condition THEN   statements;][ELSE   statements;]END IF; 实例 IF v_ename = 'OSBORNE' THEN   v_mgr := 22;END IF; if-then . . . v_job := 'SALESMAN';     …
一. Bulk 概述 本来只想测试一下Bulk Collect 和update性能的,但发现Bulk 的东西还是很多的,在OTN上搜了一些,整理如下. 1.1 Bulk Binding 和 Bulk SQL From:  http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17125/adfns_packages.htm#ADFNS343 Oracle Database uses two engines to run PL/SQL b…
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在.  那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考:  1. 打开熟悉的查看工具:PL/SQL Developer.    在PL/SQL Developer中写好一段SQL代码后,按F5,PL/SQL Developer会自动打开执行计划窗口,显示该SQL的执行计…
顺序结构 按先后顺序 分支判断结构 IF语句 IF condition THEN statements; [ELSIF condition THEN statements;] [ELSE statements;] END IF; 例: DECLARE v_myage number :=31; BEGIN IF v_myage<11 THEN DBMS_OUTPUT.PUT_LINE(' I am a child '); ELSIF v_myage<20 THEN DBMS_OUTPUT.PUT…
这里,我学到的一个很重要的东西,就是用PL/SQL DEVELOPER去看一条SELECT语句的执行计划,执行计划里面可以看到这条SELECT语句的开销.I/O操作开销等数值,可以很清晰地看到语句各个部分的执行效率.选中这条SELECT语句以后,按F5就可以. 以下面的SELECT语句为例子: 从三张表中取数据,按我以前的想法,只要WHERE语句那里有能让三张表连接起来的条件就可以.所以我只使用了: 按F5后,可以看到这样做的执行计划如下: 开销974,其实并不算高.但是加上测试环境的数据库连接…
1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的pl/sql的概念    2.掌握pl/sql编程技术(过程.函数.触发器)    pl/sql是标准sql语句的扩展    简介        1.过程.函数.触发器都是由pl/sql编写        2.过程.函数.触发器是在oracle中        3.pl/sql是非常强大的过程语言  …
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构,可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性.灵活性和安全性.   PL/SQL 的优点 支持 SQL,在 PL/SQL 中可以使用: 1.数据操纵命令 2.事务控制命令 3.游标控制…
适合自己的解决方法: 排查问题: 1. 你没有安装Oracle Client软件.这是使用PL/SQL Developer的必须条件.安装Oracle Client后再重试.2. 你安装了多个Oracle Client软件.在这种情况下,PL/SQL Developer可能会选择一个不正确的Oracle Client.点击登录页面的取消,点击工具>首选项>Oracle里的链接,从目录中选择正确的Oracle Home, 重启PL/SQL Developer后再重试.3. 你使用了一个Oracl…
1.if循环做判断 SET SERVEROUTPUT ON accept num prompt 'qinshuu'; DECLARE pnum NUMBER :=& num ; BEGIN THEN SYS.DBMS_OUTPUT.PUT_LINE (') ; ELSIF pnum THEN dbms_output.put_line (') ; ELSE DBMS_OUTPUT.PUT_LINE (') ; END IF ; END ; / 2.引用变量 SET SERVEROUTPUT ON…
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编辑方法概览 答:1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和数据库打交道的方法,和ProC很相似,更底层,很少用; 4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6)…
问题描述: 登陆PL/SQL,执行SQL语句后,输出的中文标题显示成问号????:条件包含中文,则无数据.         如果不是中文,需要修改注册表值,方法如下: 进入注册表:Win+r,输入regedit后回车,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home(笔者安装的是Oracle 10g,这里显示成KEY_OraDb10g_home1),找到NLS_LANG(如果没有就新建),查看数值数据是否为:SIMPLIFIE…
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual;    结果为AMERICAN_AMERICA.AL32UTF8 2.添加系统环境变量:   变量名:NLS_LANG   变量值:AMERICAN_AMERICA.AL32UTF8 3.重启PL/SQL即可…
在64位Win7系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他途径来完成。下面就来说明如何实现连接。 一、下载Oracle客户端 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接进入会出现以下页面。 选择第一个Instan…
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQL程序设计终极指南>志在打造PL/SQL领域最为系统.全面.实战.权威的著作,通过一系列非常突出的优势在大量的同类书中脱颖而出,成为该领域的标准读物. PL/SQL本身涉及的知识点浩瀚.庞杂,初学者根本无法依靠自身能力理清头绪,学习成本极高.本书对知识点进行了体系化的梳理,化繁杂为有序,突出重点,直指核…
项目中有个需要需要如下pl/sql(数据库是MariaDB) ) AS small FROM cmp_ent_main a WHERE createTime<'2016-9-21' ,,) ) ; 执行时发现耗时近50秒,这是测试环境啊, 表cmp_ent_main,pk是id,有74836条记录:表cmp_ent_service_config,pk是entId和serviceType,有2254条记录,并不多. explain看一下执行计划: 说实话,mysql不熟,也并没看出什么门道. 经过…
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套…
需求:Oracle数据库,B库和C库,某些表的表结构不一致,现在要求以C库为标准,同步更新B库表结构PL/SQL 连接到C库, Tools --> Compare User Objects .. --> 选择需要比对的表 --> Target Session (连接到B库) --> Compare --> 应用生成的sql修改语句同步表结构(建议把此时自动生成的sql复制出来,手工登录到B库根据实际需求选择性执行) PS:同一个库不同用户下的表同样可以比对.…
1.定义游标:列出每个员工的姓名.部门名称并编程显示第10个到第20个记录. declare cursor zemp_cursor is (select temp.ename, temp.dname from (select e.ename, d.dname, ROWNUM rn from zemp e, zdept d where e.deptno=d.deptno(+) ) temp ) ; begin for zemp_record in zemp_cursor loop --隐式打开游标…
转摘:http://www.cnblogs.com/ymj126/p/3712727.html 用于学习,笔记,以备后用. 1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安…
前几天碰到一个有趣的事情:早上同事执行一个包很久没有反应,就中断了执行,发邮件让我帮忙查看具体情况,我用PL/SQL Developer登录后,找到这个包的过程中发现这个包的图标有红色叉叉,也就是说这个包有地方没有编译通过,于是我便单击右键点击“重新编译”,结果一直没有响应,导致PL/SQL Developer直接卡死,刚开始没太留意,直接杀掉PL/SQL Developer相关进程,重新打开它然后编译这个包,结果还是这个情况,还是头一次遇到这种情况,一头雾水. 后来搜索了一下才知道原因: 1:…
今天遇到一个错误提示:ORA-06502:PL/SQL :numberic or value error: character string buffer too small,一般对应的中文信息为:ORA-06502: PL/SQL: 数字或值错误 :字符串缓冲区太小.仔细检查调试过程中才发现是开发人员定义了一个变量,但是在脚本里面赋予了该变量超过其长度的值.结果就报这个错误.我习惯总结每一个遇到的错误信息,既有利于学习.总结知识,也方便以后遇到此类问题能够及时给出解决方法. 如果执行oerr…
1.PL/SQL概述 1)概念 pl/sql(procedural language)是Oracle在标准sql语言的基础上的扩展,可以实现定义变量.使用逻辑控制语句等 作用:默认oracle一次只能处理一条SQL语句,每条SQL语句都会向服务器发送请求调用,如果使用PL/SQL,一个块中的语句作为一个组,只向服务器发送一次请求调用,减少了网络传输,节省带宽,提高效率,提高安全性 缺点:移值性差,只有oracle中可用 2)组成 pl/sql程序由块组成,由块可组成不同的程序形式,包括:匿名块.…
1.通过PL/SQL 想连接别的数据库可以通过在服务名前面加上IP和左斜线来实现: 2.有时我们的IP和左斜线不用输也能连别的数据库,是因为在一个文件里配置好了.这个文件在哪里? 在这个路径下的 NETWORK/ADMIN/tnsnames.ora文件中,我们可以看到 可以看到配置文件中已经配好了远程地址和端口,以及服务名,这时我们在登录的时候,Database选择PLATFORM1,其实选的是这套配置. 3.通过sqlplus连接远程数据库的写法如下 scott/tiger@172.16.10…
dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/admin 下的 listener.ora 中添加如下代码 添加一个监听器 LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PC-20160403KSYS)(PORT = 1521)) ) ADR_BASE_LISTENER =…
PL/SQL是32位程序,只能通过32位的Oracle驱动连接Oracle服务器.如果Oracle服务器是64位的,那么只能通过需要通过一个32位的Oracle客户端,来搭建连接. 到官网下载一个客户端:http://www.oracle.com/technetwork/topics/winsoft-085727.html .根据Oracle服务端的版本号选择,相应的 客户端 :instantclient-basic-win32-11.2.0.1.0.zip 保存到客户端任意路径下,例如D:\s…