Oracle数据库PL SQL游标

PL SQL游标

将hregright表中不存在hrno的记录,用house表中的hrno填充(house唯一的时候)

declare
    cursor house_cur is
    select h.regno,h.hrno from house h
    where h.hrno is not null group by h.regno,h.hrno having count(h.regno)=1;   

begin
    for house in house_cur loop
    update hregright r set r.hrno=house.hrno
    where r.regno=house.regno and r.hrno is null;
    end loop;
end; 

PL SQL变量

(1). 定义一个变长字符串
      v_ename varchar2(10);
(2). 定义一个小数,范围 -9999.99~9999.99
      v_sal number(6,2);
(3). 定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
      v_sal2 number(6,2):=5.4;
(4). 定义一个日期类型的数据
      v_hiredate date;
(5). 定义一个布尔变量,不能为空,初始值为false
      v_valid boolean not null default false; 
declare
  c_tax_rate number(3,2):=0.03;
  --用户名
  v_ename varchar2(5);
  v_sal number(7,2);
  v_tax_sal number(7,2);
begin
--执行
    select ename,sal into v_ename,v_sal from emp where empno=&no;
--计算所得税
    v_tax_sal := v_sal*c_tax_rate;
--输出
    dbms_output.put_line(‘姓名是:‘||v_ename||‘工资:‘||v_sal||‘ 交税:‘||v_tax_sal);
end; 
declare
    v_a1 varchar2(10);
begin
       v_a1:=‘M000000000‘;
      update a a set a.a1=v_a1 where a.a0=‘0000000000‘;
end;
时间: 2024-11-06 22:17:06

Oracle数据库PL SQL游标的相关文章

Oracle数据库PL/SQL存储过程游标触发器

创建一个添加FOOD的存储过程 create or replace procedure add_food_pro (name in varchar,price in number,description in varchar) as  begin insert into food (f_name,f_price,description)values(name,price,description); commit; end; --下面的代码是调用存储过程 begin add_food_pro('糖

Oracle数据库PL/SQL那点事情---修改过电脑的用户名

在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL数据库可视化工具就不能打开了:下面是修改电脑用户名后需要修改Oracle数据库相关数据的步骤: 修改过后出现这样的问题: Windows不能在本地计算机启动OracleDBConsoleorcl 解决的步骤: 1.开始->运行cmd 2.执行 emctl start dbconsole C:\Doc

Oracle数据库—— PL/SQL基础编程

一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs),密码为: t_你的学号后三位(例如:t_165).并授予新用户连接数据库的权限,然后以新用户连接数据库. 1. 创建用户u_sxl 2. 授予新用户u_sxl连接数据库的权限 3. 以新用户u_sxl连接数据库 (二)使用scott用户连接数据库,使用SQL语句创建表dep_你的学号后三位(例如:

Oracle数据库--PL/SQL存储过程和函数的建立和调用

1.存储过程建立的格式: create or replace procedure My_Procedure is begin --执行部分(函数内容); end; / 例子:(以hr表为例) create or replace procedure insert_procedure isbegininsert into JOBS values('MY_JOB','My Job',5000,10000);end;/ 2.存储过程调用 begininsert_procedure();end/ 3.函数

Oracle实践--PL/SQL基础之游标

PL/SQL基础入门之游标 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ----------------------------------------------

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

Oracle中PL/SQL的执行部分和各种流程控制

Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: set serveroutput on; accept abc prompt '请输入abc的值'; DECLARE a int:= &abc; BEGIN dbms_output.put_line(a); END; 查询赋值举例: set serveroutput on; DECLARE str

Oracle中PL/SQL简介、基本语法以及数据类型

Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型,拥有自身的变量申明,赋值语句,而且还有条件,循环等流程控制语句.过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包. PL/SQL是一种块结构的语言,它将一组语句放在一个块中,一次性的发送给服务器,由服

Oracle之PL/SQL学习笔记之触发器

Oracle之PL/SQL学习笔记之触发器 触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行. 即触发器是当某个事件发生时自动地隐式运行.并且,触发器不能接收参数.所以运行触发器就叫触发或点火(firing).ORACLE事件指的是对数据库的表进行的INSERT. UPDATE及D