文档库 最新最全的文档下载
当前位置:文档库 › Oracle显式游标和隐式游标

Oracle显式游标和隐式游标

Oracle显式游标和隐式游标
Oracle显式游标和隐式游标

Oracle显式游标和隐式游标

SQL是用于访问Oracle数据库的语言,PL/SQL扩展和加强了SQL的功能,它同时引入了更强的程序逻辑, 下面在本文中将对游标的使用进行一下讲解,希望可以和大家共同学习进步。

游标字面理解就是游动的光标。游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。用数据库语言来描述游标就是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。

游标有两种类型:显式游标和隐式游标。游标一旦打开,数据就从数据库中传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。

当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程。隐式游标可以使用名字SQL来访问,但要注意,通过SQL游标名总是只能访问前一个处理操作或单行SELECT操作的游标属性。所以通常在刚刚执行完操作之后,立即使用SQL游标名来访问属性。游标的属性有四种,分别是

SQL %ISOPEN,SQL %FOUND,SQL %NOTFOUND,SQL %ROWCOUNT。

SQL%ISOPEN返回的类型为布尔型,判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false,即执行过程中为真,结束后为假。

SQL%NOTFOUND返回值为布尔型,判断游标所在的行是否有效,如果有效,

则%FOUNDD等于true,否则等于false,即与%FOUND属性返回值相反。

SQL%FOUND返回值的类型为布尔型,值为TRUE代表插入删除更新或单行查询操作成功。

SQL%ROWCOUNT返回值类型为整型,返回当前位置为止游标读取的记录行数,

即成功执行的数据行数。示例代码如下:

set serveroutput on;

declare

varno varchar2(20);

varprice varchar2(20);

CURSOR mycur(vartype number) is

select emp_no,emp_zc from cus_emp_basic where com_no = vartype;

begin

if mycur%isopen = false then

open mycur(043925);

end if;

fetch mycur into varno,varprice;

while mycur%found

loop

(varno||','||varprice);

if mycur%rowcount=2 then

exit;

end if;

fetch mycur into varno,varprice;

end loop;

close mycur;

end;

记录并不保存在数据库中,它与变量一样,保存在内存空间中,在使用记录时候,要首先定义记录结构,然后声明记录变量。可以把PL/SQL记录看作是一个用户自定义的数据类型。

游标for循环是显示游标的一种快捷使用方式,它使用for循环依次读取结果集中的行数据,当form循环开始时,游标自动打开(不需要open),每循环一次系统自动读取游标当前行的数据(不需要fetch),当退出for循环时,游标被自动关闭(不需要使用close)。使用游标for循环的时候不能使用open语句,fetch语句和close语句,否则会产生错误。declare

cursor mycur(vartype number)is

select emp_no,emp_zc from cus_emp_basic

where com_no=vartype;

begin

for person in mycur(000627) loop

('编号:'||||',住址:'||;

end loop;

end;

显式游标的使用总共分4个步骤:

1.声明游标

在DECLEAR部分按以下格式声明游标:

CURSOR 游标名[(参数1 数据类型[参数2 数据类型...])]

IS SELECT语句;

参数是可选部分,所定义的参数可以出现在SELECT语句的WHERE子句中。如果定义了参数,则必须在打开游标时传递相应的实际参数。

SELECT语句是对表或视图的查询语句,甚至也可以是联合查询。可以带WHERE 条件、ORDER BY或GROUP BY等子句,但不能使用INTO子句。在SELECT语句中可以使用在定义游标之前定义的变量。

例:

DELCARE

CURSOR C_EMP IS SELECT empno,ename,salary

FROM emp WHERE salary>1500

ORDER BY ename;

........

BEGIN

在游标定义中SELECT语句中不一定非要表可以是视图,也可以从多个表或视图中

2.打开游标

使用游标中的值之前应该首先打开游标,打开游标初始化查询处理。打开游标的语法

OPEN 游标名[(实际参数1[实际参数2,...])];

打开游标时,SELECT语句的查询结果就被传送到了游标工作区。

例:

OPEN C_EMP;

3.提取数据

从游标得到一行数据使用FETCH命令。每一次提取数据后,游标都指向结果集的下一

FETCH cursor_name INTO variable[,variable,...]

对于SELECT定义的游标的每一列,FETCH变量列表都应该有一个变量与之相对应,变

在可执行部分,按以下格式将游标工作区中的数据取到变量中。提取操作必须在打开游标之后进行。

FETCH 游标名INTO 变量名1[变量名2,...];

FETCH 游标名INTO 记录变量;

游标打开后有一个指针指向数据区,FETCH语句一次返回指针所指的一行数据,要返回多行需重复执行,可以使用循环语句来实现。控制循环可以通过判断游标的属性来

下面对这两种格式进行说明:

第一种格式中的变量名是用来从游标中接收数据的变量,需要事先定义。变量的个数和类型应与SELECT语句中的字段变量的个数和类型一致。

第二种格式一次将一行数据取到记录变量中,需要使用%ROWTYPE事先定义记录变量,这种形式使用起来比较方便,不必分别定义和使用多个变量。

定义记录变量的方法如下:

变量名表名|游标名%ROWTYPE;

其中的表必须存在,游标名也必须先定义。

4.关闭游标

CLOSE 游标名;

例:

CLOSE C_EMP;

显式游标打开后,必须显式地关闭。游标一旦关闭,游标占用的资源就被释放,游标变成无效,必须重新打开才能使用。

Oracle支持动态SELECT语句和动态游标,动态的方法大大扩展了程序设计的能力。

对于查询结果为一行的SELECT语句,可以用动态生成查询语句字符串的方法,在程序执行阶段临时地生成并执行,语法是:

execute immediate 查询语句字符串into 变量1[,变量2,...];

在变量声明部分定义的游标是静态的,不能在程序运行过程中修改。虽然可以通过参数传递来取得不同的数据,但还是有很大的局限性。通过采用动态游标,可以在程序

运行阶段随时生成一个查询语句作为游标。要使用动态游标需要先定义一个游标类型,然后声明一个游标变量,游标对应的查询语句可以在程序的执行过程中动态地说明。ORACLE中带参数、REF游标及动态SQL实例

2007-10-12 15:42

--===============带参数的游标==================--

DECLARE

?? dept_code %TYPE; --声明列类型变量三个

?? emp_code?? %TYPE;

?? emp_name?? %TYPE;

CURSOR emp_cur(deptparam NUMBER) IS

SELECT empno, ename FROM EMP WHERE deptno = deptparam; --声明显示游标

BEGIN

dept_code := &部门编号; --请用户输入想查看的部门编号

OPEN emp_cur(dept_code); --打开游标

LOOP

--死循环

FETCH emp_cur

INTO emp_code, emp_name; --提取游标值赋给上面声明的变量

EXIT WHEN emp_cur%NOTFOUND; --如果游标里没有数据则退出循环

(emp_code || '' || emp_name)(emp_code || '' || emp_name); --输出查询

?? END LOOP;

?? CLOSE emp_cur; --关闭游标

END;

--=================REF游标==================--

ACCEPT tab FROMPT '你想查看什么信息员工(E)或部门信息(D):'; --使用ACCEPT命令弹出对话框让用户输入数据

DECLARE

TYPE refcur_t IS REF CURSOR; --声明REF游标类型

refcur refcur_t; --声明REF游标类型的变量

pid NUMBER;

p_name VARCHAR2(100);

selection VARCHAR2(1) := UPPER(SUBSTR('&tab', 1, 1)); --截取用户输入的字符串并转换为大写

BEGIN

IF selection = 'E' THEN

--如果输入的是'E',则打开refcurr游标,并将员工表查询出来赋值给此游标

OPEN refcur FOR

SELECT EMPNO ID, ENAME NAME FROM EMP;

('=====员工信息=====');

ELSIF selection = 'D' THEN

--如果输入是'D',则打开部门表

OPEN refcur FOR

SELECT deptno id, dname name FROM DEPT;

('=====部门信息======');

ELSE

--否则返回结束

('请输入员工信息(E)或部门信息(D)');

RETURN;

END IF;

FETCH refcur

INTO pid, p_name; --提取行

WHILE refcur%FOUND LOOP

('#' || pid || ':' || p_name)('#' || pid || ':' || p_name); ???? FETCH refcur

?????? INTO pid, p_name;

?? END LOOP;

?? CLOSE refcur; --关闭游标

END;

--===================动态SQL=================--

VARIABLE maxsal NUMBER; --声明变量

EXECUTE :maxsal := 2500; --执行引用并给变量赋值

DECLARE

r_emp EMP%ROWTYPE; --声明一个行类型变量

TYPE c_type IS REF CURSOR; --声明REF游标类型

cur c_type; --声明REF游标类型的变量

p_salary NUMBER; --声明一个标量变量

BEGIN

p_salary := :maxsal; --引用变量

--使用USING语句将引用到的值传给动态SQL语句'SAL >: 1'中的'1'

OPEN cur FOR 'SELECT * FROM EMP WHERE SAL >: 1 ORDER BY SAL DESC' USING p_salary;

('薪水大于' || p_salary || '的员工有:')('薪水大于' || p_salary || '的员工有:');

?? LOOP

???? FETCH cur

?????? INTO r_emp;

???? EXIT WHEN cur%NOTFOUND;

???? ('编号:' || || '姓名:' || || ????????????????????????? '薪水:' || ||

????????????????????????? '薪水:' || | || ????????????????????????? '薪水:' ||

|| ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || ||

????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || ' || ????????????????????????? '薪水:' || 薪|| ????????????????????????? '薪水:' || 水|| ????????????????????????? '薪水:' || : || ????????????????????????? '薪水:' || ' || ????????????????????????? '薪水:' || || ????????????????????????? '薪水:' || | || ????????????????????????? '薪水:' || | ||

????????????????????????? '薪水:' || ; END LOOP;

CLOSE cur; --关闭游标

END;

ex11游标与存储过程答案

实验十一游标与存储过程 (1)创建游标,逐行显示表Customer.的记录,并用WHILE结构来测试@@Fetch_Status的返回值。输出格式如下: '客户编号'+'-----'+'客户名称'+'----'+'客户地址'+'-----'+'客户电话 '+'------'+'客户邮编'+'------' DECLARE cur_cust SCROLL cursor FOR SELECT* FROM customer DECLARE @p_CustId char(5) DECLARE @p_CustName char(20) DECLARE @p_address char(40) DECLARE @p_Tel char(10) DECLARE @p_Zip char(6) DECLARE @p_All char(100) SELECT @p_All='客户编号'+'------'+'客户名称'+'------'+'客户地址 '+'-------------------------------------'+'客户电话'+'-------'+'客户邮 编'+'------' PRINT @p_All OPEN cur_cust FETCH cur_cust into @p_CustId,@p_CustName,@p_address,@p_Tel,@p_Zip WHILE(@@fetch_status<>-1) BEGIN SELECT @p_All=@p_CustId+' '+@p_CustName+@p_address+@p_Tel+' '+@p_Zip print @p_All FETCH cur_cust into @p_CustId,@p_CustName,@p_address,@p_Tel,@p_Zip END PRINT'客户数目: '+CONVERT(char(5),@@CURSOR_ROWS) CLOSE cur_cust DEALLOCATE cur_cust

机械检验2010理论试题(含答案)

昆船二机检验员理论知识考试试卷 姓名:___________________ 分数:___________________ 本试卷共 5 页,满分 100 分;考试时间:120 分钟;考试方式:闭卷 一、单项选择题。(本大题共80小题,每小题 1 分,共80 分) 机械制图 1.三视图中,主视图和俯视图的关系为( C )。 A.长对正 B. 高平齐 C. 宽相等 D.长对正、高平齐、宽相等 2.三视图是采用( B )法绘制的。 A.中心投影 B.正投影 C.斜投影 D.侧投影 3.直齿圆柱齿轮的分圆用( C )表示。 A.粗实线 B.细实线 C.点划线 D.虚线 4.外螺纹的公称直径,为螺纹的( D )尺寸。 A.内径 B.小径 C.中径 D.大径 5.内螺纹在垂直于螺纹轴线方向的视图中,牙底用( D )表示。 A.粗实线圆 B.细实线圆 C.虚线圆 D.3/4圈的细实线圆 6.没有作特别说明,机械制图图样中的尺寸是以( B )为单位。 A.米 B.毫米 C.厘米 D.微米 7.尺寸标注中表示( D )。 A.角度1:6 B.锥度1:6 C.比例1:6 D.斜度1:6 8.机械图中尺寸的数值与( D )有关。 A.图形真实的大小 B.比例 C.图形的准确度 D.机件的真实大小 9.圆柱内螺纹的代号是:( A ); A、R P; B、R; C、R c; D、G; 10.下图中与三视图对应的立体是( B )。 A. B. C. D. 11.下图中正确的剖面图是( C )。 A. B. C. D. 12.已知立体的主、俯视图,判断正确的左视图是( c )。

16. 下列四组移出断面图中,那一组是正确的。( c ) 17. 已知立体的主、俯视图,选择正确的左视图( a )。 19. 根据主、俯视图,选择左边正确的主视图。( c ) 、10件以上 22. 当生产过程出现质量问题时,检验员可依据( D )方式放行; A 、认为不影响使用, B 、责任单位领导同意 C 、设计人员同意, D 、审理组织同意 23. 质量记录的修改可以按下列方法处理( A ); A 、采用划改; B 、涂改液涂改; C 、刀片刮改; D 、他人代改; 24. 质量部检验员负责不合格品的判定、标识、记录和( D ); A 、处置, B 、审理, C 、管理, D 、隔离 25. 对不合格产品进行标识的目的是( C ); A 、 区分不同产品, B 、进行定置管理, C 、防止产品混淆或误用, D 、 确保产品的可追溯性 26. 不属于质量检验职能的是( c ); A 、鉴别的职能; B 、把关的职能; C 、处理的职能; D 、报告的职能; 27. 产品检验的依据是( E ); A 、产品图样, B 、工艺规程, C 、技术标准, D 、检验规范, E 、以上皆是 28. 班组长在现场质量管理中的基本任务是( D ); A 、带领职工理解并实现本班组的质量目标, B 、熟悉本组织各岗位的操作规程, C 、组织自检、互检和巡检,做好过程检验工作, D 、 以上皆是 29. 下面不属于“零缺陷”活动的“三不”原则的是:( B ) A .不生产不合格品 B. 不使用不合格品 C. 不流转不合格品 D. 不接收不合格品 30. 质量员在车间监督工艺和操作流程的执行情况体现的是质量检验的( C )

螺旋测微器游标卡尺读数练习-带答案

5 20 ~ 15 * 螺旋测微器 读数公式: 测量值=固定刻度值+固定刻度的中心水平线与可动刻度对齐的位置的读数× [经验之谈]: (1)看半刻度是否漏出,固定刻度上的刻度值是以mm为单位; (2)可动刻度要估读,小数点后应保留三位有效数字。 如右图读数时,从固定刻度上读取整、半毫米数,然后从可动刻度上读取剩余部分(因 为是10分度,所以在最小刻度后应再估读一位),再把两部分读数相加,得测量值。右 图中的读数应该是6.702mm。 测量值=+×=(~均正确) 例1、读出下列螺旋测微器测量的读数。 ⑴⑵ ~ 答案:⑴0.642mm ⑵10.294mm mm mm mm ' 1 1 5 0 5 10 2 5 3

[ 读数练习 mm mm 《 — mm mm ? …

游标卡尺 1、结构 ~ ] 可以方便地测量外径、内径、深度。 、 2、读数方法 第一步:看游标尺总刻度确定精确定度 (10分度、20分度、50分度的精确度见上表) 第二步:读出游标尺零.刻度..线.左侧的主尺整.毫米..数. (X );如:以下例题中为X=41mm 第三步:找出游标尺与主尺刻度线“正对”的位置,并在游标尺上读出对齐线...到零刻度线的小格数(n)(不要估读);如:以下例题中为10小格, 即n=10; 第四步:按读数公式读出测量值。读数公式:测量值(L )=主尺读数(X )+游标尺读数(n×精确度) @ 例1、一种游标卡尺,它的游标尺上有50个小的等分刻度,总长度为49 mm 。用它测量某物体长度,卡尺示数如图所示,则该物体的长度是________ cm 。 答案:(漏掉末位有效数字“0”不给分) 卡尺分类 主尺最小刻度(mm ) 游标刻度总长(mm) 精确度(mm) ` 10分度 1 9 0.1 20分度 1 19 0.05 / 50分度 1 49 0.02

游标类量具注意事项

游标类量具使用保养 游标量具结构简单,使用方便,能满足一般精度的测量要求,是机械制造业中应用十分广泛的量具,可测量内、外尺寸,高度,深度等。 游标量具按用途一般有游标卡尺,高度游标卡尺,深度游标卡尺。 游标卡尺的使用与保养 一、游标卡尺的结构和用途 游标卡尺(简称卡尺)的外形结构种类较多,公司最常用的两种是三用卡尺和双面卡尺 三用卡尺: 结构:刀口内量爪、外量爪、尺框、紧固螺钉、深度测量杆、游标尺、主标尺 用途:可测量内、外尺寸、深度、孔距、环形壁厚、沟槽 双面卡尺: 结构:刀口外量爪、外量爪、圆弧内量爪、游标尺、主标尺、紧固螺钉、微动装置 用途:可测量内、外尺寸,孔距,环形壁厚,沟槽 二、使用 (一)、使用前检查 1.检查相互作用:拉动尺框,游标尺和微动尺框应能共同沿主尺灵活滑动,无卡死现象,固定螺钉作用正常可靠。 2.检查测量面:用干净棉丝或软布把测量面擦净,对着光线检查量爪测量面,合拢后应没有明显间隙和露光。 3.检查零位:游标零刻线和主尺零刻线及游标尾刻线和主尺相应刻线应在“0”位对齐。 检查结果有疑问时交计量室处理。 (二)、读数方法 游标卡尺的刻线原理:游标量具的读数部分由尺身与游标尺组成,其原理是利用尺身刻线间距与游标刻线间距差来进行小数读数。 通常尺身刻线间距a为1mm,尺身刻线(n-1)格的宽度等于游标刻线n格的宽度,则游标的刻线间距b=(n-1)×a/n。而尺身刻线与游标刻线间距宽度差(即游标度数值)i=a-b=a/n,根据这个原理,游标沿着尺身移动,即可使尺身和游标上的某一刻线对齐,得出被测长度尺寸的整数和小数部分。 1.先读整数:读游标尺0刻线左边主尺上第一条线的数值。 2.再读小数:看游标尺上第几条刻线与主尺刻线对齐,对齐的刻线序数乘以游标尺分度值即得小数部分。 3.将所读整数与小数相加,得出测量尺寸。

Oracle 游标使用全解

-- 声明游标;CURSOR cursor_name IS select_statement --For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for循环来使用这个游标 declare --类型定义 cursor c_job is select empno,ename,job,sal from emp where job='MANAGER'; --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型 c_row c_job%rowtype; begin for c_row in c_job loop dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal); end loop; end; --Fetch游标 --使用的时候必须要明确的打开和关闭 declare --类型定义 cursor c_job is select empno,ename,job,sal from emp where job='MANAGER'; --定义一个游标变量 c_row c_job%rowtype; begin open c_job; loop --提取一行数据到c_row fetch c_job into c_row; --判读是否提取到值,没取到值就退出 --取到值c_job%notfound 是false --取不到值c_job%notfound 是true exit when c_job%notfound; dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal);

游标卡尺读数专项训练-含答案

游标卡尺 1 .有一种游标卡尺,主尺的分度值是1 nun,游标卡尺上有50个等分刻度,此游标卡尺 的总长度为49皿,用这种游标尺测长度可以准确到 nnn,用此卡尺测一木球 直径时,游标卡尺刻线是在cm 和cm 两刻线之间,若游标卡尺的第19条刻线与主尺刻线 对齐,则此木球的直径为 cm 。 2 .某游标卡尺主尺上最小刻度为1mm,游标尺上是50分度共49mm,(图中没有全部画 出)下图游标卡尺表示的数值为: ___________ n un. 4 5 I I I I I I I I I I I ? ? ? ? ? ? ? ? ? 1 ? ? ? ? ? ? ? L I 1 ' ' ?. 0 1 3 .读出下列游标卡尺和螺旋测微器的示数。 (1)cm (2) mm 4 .用游标卡尺和螺旋测微器测量一根金属丝的长度和直径,测量的结果如图所示,则 5 6 '1] J 」」」』」」」」II II 「? ? r r ? ? ? ? ? ? I "1I 10 20 5 .用薄标卡尺测一工件外径的读数如图(1)所示,读数为 mm. 用螺旋测微器测一圆形工件的读数如图⑵所示,读数为一 mm. IIIIIIII II Illi 此金属丝的长度占 mm,直径力 mm 。 || |川|| 八出 l £ 6. (4分)下图游标卡尺的读数为

cm螺旋测微器的读数为 8.请读出游标卡尺的数值?mm

cm,螺旋测微器的读数为 10 .图为游标卡尺(50分度)测量工件的情况,其读数为 , 2 3 4. 11 .在“长度的测量”实验中,调整游标卡尺两测量脚间距离,主尺和游标的位置如 图甲所示,此时游标卡尺的读数为一 mm ;若要游标卡尺的读数为0.20mm,应使游 标上除0刻度线外第 条刻度线与主尺上的刻度线对齐. 14 .游标卡尺和螺旋测微器是两种常用的测量长度的精密仪器。如图甲所示的游标卡尺, 主尺的最小分度是1mm,游标上有20个小的等分刻度,图示状态的读数是 mm ; 用如图乙所示蝶族测微器测量一根金属丝的直径的读数是 mm 。 15 .如图所示,为某次测量时游标卡尺(局部)的示意图,该游标卡尺精度为亳米,其 读数为L=cm. 1cm 主尺2cm iihiijiiii|i|i 游标尺10 3cm ,||1皿四 wr 20 nun. o 9.如图所示,游标卡尺的读数为 6 12.如图乙所示,螺旋测微器测出的金属丝的直径是 mm. 13.如图所示,游标卡尺的读数为_ _丽,螺旋测微器读数为一

量具、计量器具培训试题(附答案)

量器的使用培训试题 姓名:__________ 职务:___________ 工号:___________ 分数:______________ 一、填空题(2分/空,共32分) 1、我公司的矿物质水生产许可必备出厂检验设备有无菌室或超净工作台、灭菌锅、 微生物培养箱、生物显微镜、浊度仪、计量器具、酸度计、电导仪(适用瓶装饮用纯净水)、分析天平(0.1mg) (铂钴比色法测浊度时需要)。 2、钢直尺的测量精度可以达到0.5mm,物料规格表中一般要求达到 0.5 mm或 1 mm。矿水瓶标的套印精度要求主要部位≤0.3mm,次要部位≤0.5mm;而彩膜主要部位≤0.5 mm,次要部位≤0.8 mm;测量要求使用分度 0.01 mm的读数放大镜。卷尺应用于测量瓶标最大卷径分度要求 1mm 。 3、瓶坯高度测量时应调节探头升至顶部 5 mm左右处;检测完应将探头降至基准 面约 1cm 处。 4、天平在初次接通电源或长时间断电后开机时,至少需要 30分钟的预热时间。 因此,实验室电子天平在通常情况下,不要经常切断电源。 5、测量重复性一般指同一观测者、测量仪器、位置,相同使用条件、在 短时间间隔内重复。 二、名词解释(3分/题,共18分) 1、通用量具指那些测量范围和测量对象较广的量具,一般可直接得出精确的实际测量值,其制造技术和要求较复杂,一般是成系列、规范化的由专业的生产企业制造。 2、量值由数值和单位的乘积所表示的量的大小。 3、直接测量法不必测量与被测量有函数关系的其他量,而能直接得到被测量值的测量方法。 4、系统误差在对同一被测量的多次测量过程中,保持恒定或以可预知方式变化的测量误差分量。 5、检定为评定测量器具的特性,确定其是否符合法定要求进行的全部工作。 6、分度值标尺分度所代表的量值。(在计量器具的刻度标尺上,最小格所代表的被测尺寸的数值) 三、判断题(2分/题,共10分) 1、通用量具包括游塞尺、直尺、标卡尺、量筒、外径千分尺、百分表等。( ×) 2、环境误差是指在对同一被测量的多次测量过程中,以不可知方式变化的测量误差的分量。( ×) 3、游标卡尺可以测量物体的外径、内径、长度、宽度、厚度、深度、高度等。( √) 4、若试样分析结果准确度好,但精确度不好,其原因不可能是使用的容量仪器未加校正。( √) 5、我公司彩膜厚度测量精度要求是分度1μm测厚仪或千分尺。( √)

Oracle显式游标和隐式游标

Oracle显式游标和隐式游标 SQL是用于访问Oracle数据库的语言,PL/SQL扩展和加强了SQL的功能,它同时引入了更强的程序逻辑, 下面在本文中将对游标的使用进行一下讲解,希望可以和大家共同学习进步。 游标字面理解就是游动的光标。游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。用数据库语言来描述游标就是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。 游标有两种类型:显式游标和隐式游标。游标一旦打开,数据就从数据库中传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。 当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程。隐式游标可以使用名字SQL来访问,但要注意,通过SQL游标名总是只能访问前一个处理操作或单行SELECT操作的游标属性。所以通常在刚刚执行完操作之后,立即使用SQL游标名来访问属性。游标的属性有四种,分别是 SQL %ISOPEN,SQL %FOUND,SQL %NOTFOUND,SQL %ROWCOUNT。 SQL%ISOPEN返回的类型为布尔型,判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false,即执行过程中为真,结束后为假。 SQL%NOTFOUND返回值为布尔型,判断游标所在的行是否有效,如果有效, 则%FOUNDD等于true,否则等于false,即与%FOUND属性返回值相反。 SQL%FOUND返回值的类型为布尔型,值为TRUE代表插入删除更新或单行查询操作成功。 SQL%ROWCOUNT返回值类型为整型,返回当前位置为止游标读取的记录行数,

实验16 游标、存储过程和函数参考答案

实验十六游标、存储过程和函数 一、目的与要求 1.了解游标的概念和工作原理; 2.了解存储过程的分类和使用方法; 3.了解触发器的概念; 4.学习编写和执行自定义过程; 5.学习编写和执行自定义函数; 6.学习创建和使用触发器。 二、实验准备 1.首先要了解游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了。将游标放置到某行后,即可对该行数据进行操作,最常见的操作是提取当前行数据。 2.使用显式游标的步骤: (1)说明游标。 (2)打开游标。 (3)读取数据。 (4)关闭游标。 3.了解PL/SQL包括3种存储过程,即过程、函数和程序包。 4.了解触发器是一种特殊的存储过程,当指定表中的数据发生变化时自动运行。 三、实验内容 1.练习书上的例子10.1—10.24。 2.以上机实验经常用到的数据库LIB为例,编写过程P_ResetPrice,此过程的功能是将表图书中指定书号的单价更改为10.0,调用该过程将书号为’TP311.13/CM3’的单价更改为10.0,将程序写在实验报告中。 create or replace procedure P_ResetPrice (vBno in varchar2) as begin update 图书 set 单价=10.0 where 图书号=vBno; end; execute P_ResetPrice(‘TP311.13/CM3’); 3.编写一函数F_GetBName,该函数的功能是在图书中根据指定的书号,返回该书的书名,并在匿名块中调用函数F_GetBName找出编号为“TP311.132/ZG1”的书名,将程序写在实验报告中。 create function F_GetName (vtno IN 图书.图书号%Type) return 图书.书名%Type

oracle游标的使用及属性

oracle游标的使用及属性 oracle游标的使用 游标是从数据表中提取出来的数据,以临时表的形式存放到内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回到数据库中。 一:定义游标 cursor游标名isselect语句; 示例: setserveroutputon declare tempsalscott.emp.sal%type; cursormycursorisselect *fromscott.empwheresal>tempsal; begin tempsal:=800; openmycursor; end; 二:打开游标 语法结构:open游标名 打开游标分为两步:1将符合条件的记录送入内存2将指针指向第一条记录 三:提取游标数据

语法形式:fetch游标名into变量名1,变量名2,.....;或者 fetch游标名into记录型变量名; 示例: setserveroutputon declare tempsalscott.emp.sal%type; cursormycursorisselect*fromscott.empwheresal>tempsal; cursorrecordmycursor%rowtype; begin tempsal:=800; openmycursor; fetchmycursorintocursorrecord; dbms_output.put_line(to_char(cursorrecord.deptno)); end; 四:关闭游标 close游标名; Oracle游标的属性之一------%isopen %isopen 属性----测试游标是否打开,没打开的情况下使用fetch语句将提示错误。 示例:

oracle11g游标及触发器相关知识

oracle11g 游标: 1. 当在PL/SQL中使用SQL语句时,Oracle会为其分配上下文区域,这是一段 私有的内存区域,用于暂时保存SQL语句影响到的数据。游标是指向这段内存区域的指针。 2. Oracle中主要有两种类型的游标: (1) 隐式游标:所有的DML语句和PL/SQL SELECT 语句都有; (2) 显式游标:由开发人员声明和控制。 3. 可以使用的游标属性包括四种:%ROWCOUNT、%FOUND、%NOTFOUND、 %ISOPEN,这四种属性对于显式游标和隐式游标都有用,但是含义和使用方法略有不同。游标在使用属性时,需要以游标名称作为前缀,以表明该属性是哪个游标的,隐式游标没有名称,所以在使用隐式游标时采取了统一的一个名称SQL。 4. 在PL/SQL中的SELECT语句只能且必须取出一行数据,取出多行或者零行都 被认为是异常,所以在对多行数据进行操作时,必须使用显式游标来实现。 5. 使用显式游标的步骤: (1)声明游标:CURSOR cursor_name is select_statement; (2)打开游标:OPEN cursor_name; (3)取游标中的数据:FETCH cursor_name INTO variable1,variable2,...; (4)关闭游标:CLOSE cursor_name; 6.用变量接收游标中的数据 sql> declare v_name emp.ename%TYPE; v_sal emp.sal%TYPE; cursor emp_cursor is select ename,sal from emp where deptno=10; begin open emp_cursor; loop fetch emp_cursor into v_name,v_sal; exit when emp_cursor%NOTFOUND; dbms_output.put_line(v_name || ‘的薪水是’ || v_sal);

常用量具试题及答案(可编辑修改word版)

量具培训试题 姓名:成绩: 一、填空题(每空 2 分,共 40 分) 1.高度尺的精度是()数显高度尺的精度是()。 )或(), 2.数显卡尺的精度是 ( ) ,带表卡尺的精度是 (游标卡尺的精度是()。 3.卡尺的使用方法有()、外测量、()和()四种。 4.千分尺的精度是(),塞尺的精度是()。 5.数显卡尺显示组件包括:外壳、( )、液晶、( )。 )、()、6.千分表的结构有哪些:()、()、防尘帽、( ()、套筒、()、()。 二、单项选择题(每题 4 分,共 20 分) 1.如图所示哪种测量方法是台阶测量() 2.下列哪个配件不属于数显游标卡尺的() A.防尘帽 B.主板 C.导电条 D. 外壳 3.带表卡尺的尺身是什么材料() A. 碳钢 B.生铁 C.铝 D. 不锈钢 4.数显高度尺不可以碰到() A.酒精 B.水 C.防锈油 D.清洁布5. 高度尺可以测量哪些项目() A.高度、精密划线 B.直径 C.圆弧 D.内 经 三、判断题(每题 4 分,共 40 分)

1.游标卡尺,是一种测量长度、内外径、深度的量具。( ) 2.读数时,视线要垂直于尺面,否则测量值不准确。( ) 3.使用前,应先擦干净两卡脚测量面,合拢两卡脚,不用检查副尺 0 线与主尺 0线是否对齐. ( ) 4.游标卡尺的主尺一般以厘米为单位( ) 5.游标卡尺的主尺和游标上有两副活动量爪,分别是内测量爪和外测量爪,内测量爪通常用来测量内径,外测量爪通常用来测量长度和外径。() 6.千分尺是一种应用广泛的精密量具,其测量精确度比游标卡尺高。( ) 7.外径千分尺的读数原理外径千分尺是利用螺旋传动原理,将角位移变成直线位来进行长度测量的。( ) 8.要经常保持千分尺的清洁,使用完毕后擦干净,同时还要在两测量面上涂一层防锈油并让两测量面贴合,然后放在专用盒内,并保存在干燥的地方。() 9.测量时,零件必须在千分尺的测量面中心测量。( ) 10.测量零件时,零件上不能有异物,并在常温下测量。( ) 四、问答题(每题 20 分,共 60 分) 1. 卡尺应注意哪些事项?

隐式游标和显式游标

oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常, 关键字: oracle 隐式游标显示循环动态select 语句游标异常处理自定义 游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 游标有两种类型:显式游标和隐式游标。在前述程序中用到的SELECT...INTO...查询语句,一次只能从数据库中提取一行数据,对于这种形式的查询和DML操作,系统都会使用一个隐式游标。但是如果要提取多行数据,就要由程序员定义一个显式游标,并通过与游标有关的语句进行处理。显式游标对应一个返回结果为多行多列的SELECT语句。 游标一旦打开,数据就从数据库中传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。 隐式游标 如前所述,DML操作和单行SELECT语句会使用隐式游标,它们是: * 插入操作:INSERT。 * 更新操作:UPDATE。 * 删除操作:DELETE。 * 单行查询操作:SELECT ... INTO ...。 当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程。隐式游标可以使用名字SQL来访问,但要注意,通过SQL游标名总是只能访问前一个DML操作或单行SELECT操作的游标属性。所以通常在刚刚执行完操作之后,立即使用SQL游标名来访问属性。游标的属性有四种,如下所示。 Sql代码 【训练1】使用隐式游标的属性,判断对雇员工资的修改是否成功。 步骤1:输入和运行以下程序: Sql代码

螺旋测微器和游标卡尺专项练习(含详细答案)

螺旋测微器和游标卡尺专项练习(含详细答案)

5 0 20 25 15 螺旋测微器和游标卡尺专项练习 1.游标卡尺 ⑴10分度的游标卡尺。游标上相邻两个刻度间的距离为0.9mm ,比主尺上相邻两个刻度间距离小0.1mm 。读数时先从主尺上读出厘米数和毫米数,然后用游标读出0.1毫米位的数值:游标的第几条刻线跟主尺上某一条刻线对齐,0.1毫米位就读几(不能读某)。其读数准确到0.1mm 。 ⑵20分度的游标卡尺。游标上相邻两个刻度间的距离为0.95mm ,比主尺上相邻两个刻度间距离小0.05mm 。读数时先从主尺上读出厘米数和毫米数,然后用游标读出毫米以下的数值:游标的第几条刻线跟主尺上某一条刻线对齐,毫米以下的读数就是几乘0.05毫米。其读数准确到0.05mm 。 ⑶50分度的游标 卡尺。游标上相邻两 个刻度间的距离为 0.98mm ,比主尺上相 邻两个刻度间距离小0.02mm 。这种卡 尺的刻度是特殊的,游标上的刻度值, 就是毫米以下的读数。这种卡尺的读数可以准确到0.02mm 。如右图中被测圆柱体的直径为2.250cm 。 要注意:游标卡尺都是根据刻线对齐来读数的, 所0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1

4.用螺旋测微器测圆柱体直径时,示数如右图,此示数为mm。 5.下左图为用游标为50分度的卡尺(测量值可准确到0.02mm)测定某圆筒的内径时,卡尺上的示数如图可读出圆筒的内径为mm。 6. 上右图为用游标为50分度的卡尺(测量值可准确到0.02mm)测定某圆柱的直径时,卡尺上的示数如图。可读出圆柱的直径为mm。 7.下图所示,甲、乙游标卡尺的示数分别为甲图mm,乙图mm。 8.(1)已知不同的工具测量某物体的长度时,有下列不同的结果: A.2.4cm B.2.37cm C.2.372cm D.2.3721cm 其中,用最小分度值为厘米的刻度尺测量的结果是__ ___;用游标尺上有10个等分刻度的游标卡尺测量的结果是____ __。 (2)一同学用一游标尺上标有20等分刻度的游标卡 尺测一物体的长度.测得的结果如图所示,则该物体的 长度L=_____ __ m。 9.下图是用螺旋测微器测量三根金属棒直径的示意图,从左到右三根金属棒的直径依次为: mm、mm、mm。 10.游标卡尺读数为_____ ______mm 螺旋测微器的读数为__ ____mm

游标类量具试题及答案

游标类量具试卷 单位姓名得分 一、填空题: 1、卡尺是由法国首创的,其创世于公元1631年。 2、阿贝原则是指测量轴线在基准轴线上。根据这一原则,判别游标高度卡尺是否符合?不符合。 3、通用卡尺是用来测量外尺寸、内尺寸、盲孔、阶梯形孔及凹槽等相关尺寸的量具。 4、检定游标卡尺的游标刻线面的棱边至主尺刻线面的距离,是为了控制。 5、数显卡尺的读数机构的基本原理是光栅或者是容栅。 6、通用卡尺主要结构形式分别为游标卡尺、电子数显卡尺、带表卡尺、深度游标卡尺、电子数显深度卡尺。 7、不论数显卡尺还是游标卡尺,其圆柱面的内测量爪的基本尺寸为 10mm或20mm整数,这尺寸对使用中和修理后的卡尺来说,必然要偏小,但重新确定的合适(或实用)标称尺寸为卡尺分度值的整数倍。 8、游标卡尺的示值误差用量块检定,对一示值检定时,量块分别放在卡尺量爪工作面的里端和外端两位置上进行。 9、分度值为0.02mm的游标卡尺,其刻线宽度为0.08-0.18mm,同一把游标卡尺的刻线宽度差不大于0.02mm。 10、分度值为0.05mm的游标卡尺,其圆柱面内测量爪的尺寸偏差不超过±0.02mm,平行度不大于0.01mm 。 11、数显卡尺外测量爪工作面的平面度不大于 0.003mm ,该量爪两工作面合并后的间隙量不大于。 12、数显卡尺的示值变动性不超过0.01mm ,其显示器的示值稳定度在1h内不大于0.01mm 。

13、带深度测量杆的卡尺,深度测量杆在20 mm点的示值误差应不超过1个分度值(分辨力)。 14、分辨力为0.05mm游标卡尺外量爪测量面的表面粗糙度Ra应不超过0.4μm。 15、游标卡尺的圆弧内量爪的平行度应不超过0.01 mm。 16、游标卡尺微动装置的空程,新制造的应不超过1/4转。 17、圆标尺的指针尖端应盖住短标记长度的30 %~80 %。 18、通用量具检定室内温度最高不应超过25℃,湿度不超过80%RH。 19、检定0~500mm游标卡尺之前把卡尺和量块放置在木桌上时,应平衡至少3小时。 20、JJG31-1999《高度卡尺》检定规程适用于测量范围上限至2000 mm的高度卡尺的检定。 21、高度卡尺是用来测量制件表面高度位置和精密划线的量具。 22、高度卡尺主要结构形式有游标高度卡尺、带表高度卡尺和数显高度卡尺。 23、检定高度卡尺时应放置在1级平板上。 24、检定测高量爪两测量面间的尺寸变动性的主要标准器是和允许误差为 mm的测微计。 二、选择题: 1、游标卡尺的刻度,当分度值为i,模数为γ=2时,则主尺的刻线间距a和副尺(游标)刻线间距b的关系为 1 。 (1)b=γa-i (2)a=γb-i (3)b=γ a 2、若有一量具工作面的平面度为0.010mm,为了达到检定结果的准确起见,该工作面的平面度适合采用的检定方法为。 (1)用刀口尺以光隙法检定 (2)用平晶以技术光波干涉法检定

大学物理实验答案完整版

大学物理实验答案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

实验一 物体密度的测定 【预习题】 1.简述游标卡尺、螺旋测微器的测量原理及使用时的注意事项。 答:(1)游标卡尺的测量原理及使用时的注意事项: 游标卡尺是一种利用游标提高精度的长度测量仪器,它由主尺和游标组成。设主 尺上的刻度间距为y ,游标上的刻度间距为x ,x 比y 略小一点。一般游标上的n 个刻度间距等于主尺上(n -1)个刻度间距,即y n nx )1(-=。由此可知,游标上的刻度间距与主尺上刻度间距相差n 1,这就是游标的精度。 教材P33图1-2所示的游标卡尺精度为 mm 501,即主尺上49mm 与游标上50格同长,如教材图1-3所示。这样,游标上50格比主尺上50格(50mm )少一格(1mm ),即游标上每格长度比主尺每格少1÷50 = 0.02(mm), 所以该游标卡尺的精度为0.02mm 。 使用游标卡尺时应注意:①一手拿待测物体,一手持主尺,将物体轻轻卡住,才 可读数。②注意保护量爪不被磨损,决不允许被量物体在量爪中挪动。③游标卡尺的外量爪用来测量厚度或外径,内量爪用来测量内径,深度尺用来测量槽或筒的深度,紧固螺丝用来固定读数。 (2)螺旋测微器的测量原理及使用时的注意事项: 螺旋测微器又称千分尺,它是把测微螺杆的角位移转变为直线位移来测量微小长 度的长度测量仪器。螺旋测微器主要由固定套筒、测量轴、活动套筒(即微分筒)组成。

如教材P24图1-4所示,固定套管D上套有一个活动套筒C(微分筒),两者由高精度螺纹紧密咬合,活动套筒与测量轴A相联,转动活动套筒可带动测量轴伸出与缩进,活动套筒转动一周( 360),测量轴伸出或缩进1个螺距。因此,可根据活动套筒转动的角度求得测量轴移动的距离。对于螺距是0.5mm螺旋测微器,活动套筒C的周界被等分为50格,故活动套筒转动1 格,测量轴相应地移动0.5/50=0.01mm,再加上估读,其测量精度可达到0.001 mm。 使用螺旋测微器时应注意:①测量轴向砧台靠近快夹住待测物时,必须使用棘轮而不能直接转动活动套筒,听到“咯、咯”即表示已经夹住待测物体,棘轮在空转,这时应停止转动棘轮,进行读数,不要将被测物拉出,以免磨损砧台和测量轴。②应作零点校正。 2.为什么胶片长度可只测量一次? 答:单次测量时大体有三种情况:(1)仪器精度较低,偶然误差很小,多次测量读数相同,不必多次测量。(2)对测量的准确程度要求不高,只测一次就够了。(3)因测量条件的限制,不可能多次重复测量。本实验由对胶片长度的测量属于情况(1),所以只测量1次。

Oracle 函数返回游标的方法及应用

Oracle函数返回游标的方法及应用简析 王凤利康俊霞 河北北方学院张家口职业技术学院 【摘要】Oracle函数除了可以返回数值类型和字符类型等常用数据类型的数 据以外,还可以返回游标类型的数据,在某些情况下,返回游标类型的函数为我们 解决一些应用中的难题。本文就是通过一个实例来介绍返回游标函数的创建过程。 【关键字】Oracle,函数,包,游标。 1 问题的提出 在油田信息系统建设过程中,遇到了这样一个问题:输油站泵运行数据表(DHC05)的结构为:时间(SJ)、单位名称(DWMC)、泵号(BH)、泵压(BY1)、电压(DY)、电流(DL)、排量(PL),主键为:时间、单位名称、泵号,每整点对运行泵取一次数据,不存储不运行泵(运行时间为0)的数据。现要输出如下报表: 报表的查询条件为单位名称和日期(yyyymmdd格式字符串)。运行泵号及泵台数根据各单位实际运行情况而定。 2 系统简介 系统采用B/S三层体系结构,数据库采用Oracle9.2版本,WEB服务器采用IIS6.0版本,客户端采用IE6.0及以上版本。 报表采用了统一的制表解释程序进行输出,该解释程序可以从一个单一的Oracle查询语句中提取数据,报表的输出样式为简单的二维表。 3 解决方案 根据目前的系统现状,要想直接利用当前系统输出本报表是不可能的,经过分析认为共有以下几种解决方案: a)修改数据表结构 将原始数据表的结构进行调整,把时间、单位名称作为主键,将同一时刻的各个泵的数据逐个列出作为数据列,大致结构为:时间、单位名称、1号泵泵压、1号泵电压、1号泵电流、1号泵排量、2号泵泵压、2号泵电压、2号泵电流、2号泵排量、…。 本方案违背了数据库设计的基本原则,因各个单位的泵数不相等,只能按最大泵数进行数据库结构设计,当站库继续扩大、泵数继续增加时需要对数据库结构和所有用到该数据表

【黑马程序员】Oracle 游标使用全解

【黑马程序员】Oracle 游标使用全解 有很多同学在使用oracle 数据库的时候对游标这个东西不知道如何处理,感觉使用起来很难,今天我们就讨论一下游标的使用,满满的都是干货,以下代码几乎包含了oracle 游标使用的方方面面,全部通过了测试! -- 声明游标; 1 C URSOR cursor_name IS select_statement --For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for 循环来使用这个游标 01 02 03 04 05 06 07 08 09 10 11 12 13 14 declare --类型定义 cursor c_job is select empno ,ename ,job ,sal from emp where job ='MANAGER'; --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp 中的一行数据类型 c_row c_job%rowtype; begin for c_row in c_job loop dbms_output.put_line (c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal ); end loop; end ; --Fetch 游标 --使用的时候必须要明确的打开和关闭 01 02 03 declare --类型定义 cursor c_job

04 05 06 07 08 09 10 11 12 13 14 15 16 is select empno,ename,job,sal from emp where job='MANAGER'; --定义一个游标变量 c_row c_job%rowtype; begin open c_job; loop --提取一行数据到c_row fetch c_job into c_row; --判读是否提取到值,没取到值就退出 --取到值c_job%notfound 是false --取不到值c_job%notfound 是true exit when c_job%notfound; dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||' -'||c_row.sal); end loop; --关闭游标 close c_job; end; --1:任意执行一个update操作,用隐式游标sql的属 性%found,%notfound,%rowcount,%isopen观察update语句的执行情况。 begin update emp set ENAME='ALEARK' WHERE EMPNO=7469; if sql%isopen then dbms_output.put_line('Openging'); else dbms_output.put_line('closing'); end if; if sql%found then dbms_output.put_line('游标指向了有效行');--判断游标是否指向有效行 else dbms_output.put_line('Sorry'); end if; if sql%notfound then dbms_output.put_line('Also Sorry'); else dbms_output.put_line('Haha'); end if;

游标读数量具方法及原理

应用游标读数原理制成的量具有;游标卡尺,高度游标卡尺、深度游标卡尺、游标量角尺(如万能量角尺)和齿厚游标卡尺等,用以测量零件的外径、内径、长度、宽度,厚度、高度、深度、角度以及齿轮的齿厚等,应用范围非常广泛。 一游标卡尺的结构型式 游标卡尺是一种常用的量具,具有结构简单、使用方便、精度中等和测量的尺寸范围大等特点,可以用它来测量零件的外径、内径、长度、宽度、厚度、深度和孔距等,应用范围很广。 1 游标卡尺有三种结构型式 (1)测量范围为0~125mm的游标卡尺,制成带有刀口形的上下量爪和带有深度尺的型式,如图2—1。 图2-1 游标卡尺的结构型式之一 1-尺身;2-上量爪;3-尺框;4-紧固螺钉;5-深度尺;6-游标;7-下量爪。 (2)测量范围为0~200mm和0~300mm的游标卡尺,可制成带有内外测量面的下量爪和带有刀口形的上量爪的型式,如图2―2。 图2-2 游标卡尺的结构型式之二 1一尺身;2一上量爪、3一尺框;4一紧固螺钉;5一微动装置; 6一主尺;7一微动螺母;8一游标;9—下量爪 (3)测量范围为0~200mm和0~300mm的游标卡尺,也可制成只带有内外测量面的下量爪的型式,如图2-3。而测量范围大于300mm的游标卡尺,只制成这种仅带有下量爪的型式。 图2-3 游标卡尺的结构型式之三 2 游标卡尺主要由下列几部分组成 (1)具有固定量爪的尺身,如图2-2中的1。尺身上有类似钢尺一样的主尺刻度,如图

2―2中的6。主尺上的刻线间距为1mm。主尺的长度决定于游标卡尺的测量范围。 (2)具有活动量爪的尺框,如图2-2中的3。尺框上有游标,如图2―2中的8,游标卡尺的游标读数值可制成为0.1;0.05和0.02mm的三种。游标读数值,就是指使用这种游标卡尺测量零件尺寸时,卡尺上能够读出的最小数值。 (3)在0~125mm的游标卡尺上,还带有测量深度的深度尺,如图2―1中的5。深度尺固定在尺框的背面,能随着尺框在尺身的导向凹槽中移动。测量深度时,应把尺身尾部的端面靠紧在零件的测量基准平面上。 (4)测量范围等于和大于200mm的游标卡尺,带有随尺框作微动调整的微动装置,如图2―2中的5。使用时,先用固定螺钉4把微动装置5固定在尺身上,再转动微动螺 母7,活动量爪就能随同尺框3作微量的前进或后退。微动装置的作用,是使游标卡尺在测量时用力均匀,便于调整测量压力,减少测量误差。 目前我国生产的游标卡尺的测量范围及其游标读数值见表2-1。 二游标卡尺的读数原理和读数方法 游标卡尺的读数机构,是由主尺和游标(如图2―2中的6和8)两部分组成。当活动量爪与固定量爪贴合时,游标上的“0”刻线(简称游标零线)对准主尺上的“0”刻线, 此时量爪间的距离为“0”,见图2―2。当尺框向右移动到某一位置时,固定量爪与活动量爪之间的距离,就是零件的测量尺寸,见图2―1。此时零件尺寸的整数部分,可在游标零线左边的主尺刻线上读出来,而比1mm小的小数部分,可借助游标读数机构来读出,现把三种游标卡尺的读数原理和读数方法介绍如下。 1游标读数值为0.1mm的游标卡尺 如图2―4(a)所示,主尺刻线间距(每格)为1mm,当游标零线与主尺零线对准(两爪合并)时,游标上的第10刻线正好指向等于主尺上的9mm,而游标上的其他刻线都不会与主尺上任何一条刻线对准。 游标每格间距=9mm÷10=0.9mm 主尺每格间距与游标每格间距相差=1mm-0.9mm=0.1mm 0.1mm即为此游标卡尺上游标所读出的最小数值,再也不能读出比0.1mm小的数值。 当游标向右移动0.1mm时,则游标零线后的第1根刻线与主尺刻线对准。当游标向右移动0.2mm时,则游标零线后的第2根刻线与主尺刻线对准,依次类推。若游标向右移动0.5mm,如图2-4(b),则游标上的第5根刻线与主尺刻线对准。由此可知,游标向右移动不足1mm的距离,虽不能直接从主尺读出,但可以由游标的某一根刻线与主尺刻线对准时,该游标刻线的次序数乘其读数值而读出其小数值。例如,图2―4(b)的尺寸即为:5×0.1=0.5(mm)。

相关文档
相关文档 最新文档