create or replace procedure test_procedure_job asv1 varchar2(50);v2 varchar2(50);v3 varchar2(50);begin   for v1 in   (select t.id          from test_table t)    loop       select t.username,t.password into v2,v3 from sshtest t where t.id = v1.id;    …
用 游标(Cursor) + While循环 的方法, 对Customers表中的CompanyName列进行遍历 ) declare pcurr cursor for select distinct companyname from customers open pcurr fetch next from pcurr into @customer ) begin print (@customer) fetch next from pcurr into @customer end close p…
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构,可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性.灵活性和安全性.   PL/SQL 的优点 支持 SQL,在 PL/SQL 中可以使用: 1.数据操纵命令 2.事务控制命令 3.游标控制…
项目中有个需要需要如下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不熟,也并没看出什么门道. 经过…
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构,可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性.灵活性和安全性.   PL/SQL 的优点 支持 SQL,在 PL/SQL 中可以使用: 1.数据操纵命令 2.事务控制命令 3.游标控制…
PL/SQL常用的快捷方式: sf= select * from sr=select t.*,t.rowid from t sd = select distinct * from d=delete from w= where sc=select count(1) from u= update 在某一文件夹下新建文本,把以上内容复制,保存,例如:在PLSQL Developer\PlugIns文件夹下新建shortcut.txt. 在PL/SQL中登陆,选择:Tools-->Preferences…
BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎.通常可以在SELECT INTO.FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT.本文将逐一描述BULK COLLECT在这几种情形下的用法. 一.BULK COLLECT批量绑定的示例 --下面的示例中使用了BULK COLLECT将得到的结果集绑定到记录变量中         DECLARE     TYPE emp_rec_typ…
1.标量: ag1: declare v_ename emp.ename%type;--自己称为单变量 begin select ename into v_ename from emp where empno=&no; dbms_output.put_line('雇员名称'||v_ename); end; ag2: declare type test1 is record(t1 emp.ename%type,t2 emp.sal%type);--定义记录型变量 v_tt test1;--v_tt…
1.标量: ag1: declare v_ename emp.ename%type;--自己称为单变量 begin select ename into v_ename from emp where empno=&no; dbms_output.put_line('雇员名称'||v_ename); end; ag2: declare type test1 is record(t1 emp.ename%type,t2 emp.sal%type);--定义记录型变量 v_tt test1;--v_tt…
一.在PL\SQL语句块begin...end;中,不能直接使用select,必须与into结合查询. 例如: declare aa:=22; id2 integer; begin select * from tabname where id=aa : end;//提示错误该select语句中缺少into子句 正确:select count(*)into id2  from tabname where id=aa : 当然这样只能得到一条数据,如果需要多数据查询可以使用游标: 二.oracle循…