游标实例与返回结果集的存储过程

游标实例与返回结果集的存储过程
游标实例与返回结果集的存储过程

游标实例:

declare

cursoremp_cursor(dept_num number:=20)

is

selectename,sal from emp where deptno=dept_num;

v_enameemp.ename%type;

v_salemp.sal%type;

--可以使用下面的定义方法,代替上面两个变量

--one_empemp_cursor%rowtype;

begin

openemp_cursor(&dnum);

loop

fetchemp_cursor into v_ename,v_sal;

--判断工资低于2000,增加工资

--if(v_sal<2000)

--then update emp set sal=sal*(1.1) where ename=v_ename;

--end if;

exit when emp_cursor%NOTFOUND;

dbms_output.put_line('当前检索的是第'||emp_cursor%rowcount||'行:'||v_ename||','||v_sal);

end loop;

closeemp_cursor;

end;

declare

--定义游标sp_emp_cursor

typesp_emp_cursor is ref cursor;

--定义一个游标变量

test_cursorsp_emp_cursor;

--定义变量

v_enameemp.ename%type;

v_salemp.sal%type;

begin

--执行

--把test_cursor和一个select结合

opentest_cursor for select ename,sal from emp where deptno=&no;

--循环取出

loop

fetchtest_cursor into v_ename,v_sal;

--判断是否test_cursor为空

exit when test_cursor%notfound;

dbms_output.put_line('名字:'||v_ename||' 工资:'||v_sal);

end loop;

end;

返回结果集的存储过程实例及调用

--创建一个包,定义一个游标类型,为存储过程的输出参数使用

create or replace package sp_emp_pk as

typesp_emp_cursor is ref cursor;

endsp_emp_pk;

/

--创建返回结果集的存储过程

create or replace PROCEDURE sproc_cursor(deptnum in number,emp_cursor out sp_emp_pk.sp_emp_cursor) is

begin

openemp_cursor for select ename,sal from emp where deptno=deptnum;

endsproc_cursor;

/

--返回结果集的存储过程的调用

declare

typesp_emp_cursor is ref cursor;

emp_cursorsp_emp_cursor;

--v_empnoemp.empno%type:=7839;

v_deptnoemp.deptno%type:=10;

v_enameemp.ename%type;

v_salemp.sal%type;

begin

sproc_cursor(v_deptno,emp_cursor);

loop

fetchemp_cursor into v_ename,v_sal;

exit when emp_cursor%notfound;

--sp_pro8(v_empno,v_ename);

dbms_output.put_line(v_ename);

end loop;

--dbms_output.put_line('Hello world');

closeemp_cursor;

end;

/

游标与存储过程

实验5 游标与存储过程 1、实验目的 1. 学习实践游标与存储过程 2. 学习实践PL/SQL编程 2、实验原理 1. PL/SQL编程 2. 游标与存储过程 3、实验器材 1. 安装了Oracle,或者MySQL的计算机 4、实验内容 3. 创建表 Code Name Amt 01服装900 0101男装300 010101西装100 010102休闲装200 0102女装390 010201套装120 010202职业装130 010203休闲装140 0103童装210 02电器290 0201进口140 0202国产150 03日用品300 2.编写Oracle的存储过程,实现层次结构的逐级求和。

3.应用sql*plus,编写PL/SQL调用步骤2编写的存储过程。 五、实验报告要求 请将相应SQL语句写在实验报告上 1、 create table example(code number(10),name varchar2(20),amt number(10)); 2、 insert into example values(01,'服装',900); 3、 insert into example values(0101,'男装',300); 4、 insert into example values(010101,'西装',100); 5、 insert into example values(010102,'休闲装',200); 6、 insert into example values(0102,'女装',390); 7、 insert into example values(010201,'套装',120); 8、 insert into example values(010202,'职业装',130); 9、 insert into example values(010203,'休闲装',140); 10、 insert into example values(0103,'童装',210); 11、 insert into example values(02,'电器',290);、 12、 insert into example values(0201,'进口',140); select * from example; CODE NAME AMT --------- -------------------- ---------- 1 服装 900 101 男装 300 10101 西装 100 10102 休闲装 200 102 女装 390 10201 套装 120 10202 职业装 130 10203 休闲装 140

在Sql Server存储过程中使用Cursor(游标)操作记录

1.为何使用游标: 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。 2.如何使用游标: 一般地,使用游标都遵循下列的常规步骤: (1) 声明游标。把游标与T-SQL语句的结果集联系起来。 (2)打开游标。 (3)使用游标操作数据。 (4)关闭游标。 2.1.声明游标 DECLARE CURSOR语句SQL-92标准语法格式: DECLARE游标名[ INSENSITIVE ] [ SCROLL ] CURSOR FOR sql-statement Eg: Declare MycrsrVar Cursor FOR Select * FROM tbMyData 2.2打开游标 OPEN MycrsrVar 当游标被打开时,行指针将指向该游标集第1行之前,如果要读取游标集中的第1行数据,必须移动行指针使其指向第1行。就本例而言,可以使用下列操作读取第1行数据: FETCH FIRST from E1cursor 或FETCH NEXT from E1cursor 2.3 使用游标操作数据 下面的示例用@@FETCH_STATUS控制在一个WHILE循环中的游标活动 DECLARE E1cursor cursor FOR SELECT * FROM c_example OPEN E1cursor FETCH NEXT from E1cursor WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT from E1cursor END CLOSE E1cursor DEALLOCATE E1cursor 2.4 关闭游标 使用CLOSE语句关闭游标 CLOSE { { [ GLOBAL ]游标名} |游标变量名} 使用DEALLOCATE语句删除游标,其语法格式如下: DEALLOCATE { { [ GLOBAL ]游标名} | @游标变量名

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

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

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

实验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

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

游标卡尺 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.如图所示,游标卡尺的读数为_ _丽,螺旋测微器读数为一

实验九 游标与存储过程

实验九游标与存储过程 1 实验目的与要求 (1) 掌握游标的定义和使用方法。 (2) 掌握存储过程的定义、执行和调用方法。 (3) 掌握游标和存储过程的综合应用方法。 2 实验内容 请完成以下实验内容: (1)创建游标,逐行显示Customer表的记录,并用WHILE结构来测试 @@Fetch_Status的返回值。输出格式如下: declare @C_no char(9),@C_name char(18),@C_phone char(10), @C_addchar(8),@C_zip char(6) declare @text char(100) declarecus_cur scroll cursor for select* from Customer select @text='=========================Customer 表的记录 =========================' print @text select @text='客户编号'+'-----'+'客户名称'+'----'+'客户住址'+'-----'+'客户电话'+'------'+'邮政编码' print @text select @text='============================================================ ============================' print @text opencus_cur fetchcus_cur into @C_no,@C_name,@C_phone,@C_add,@C_zip while(@@fetch_status=0) begin select @text=@cust_No+' '+@cust_name+' '+@addr+' '+@tel_no+' '+@zip print @text fetchcus_cur into @C_no,@C_name,@C_phone,@C_add,@C_zip end closecus_cur deallocatecus_cur '客户编号'+'-----'+'客户名称'+'----'+'客户住址'+'-----'+'客户电话'+'------'+'邮政编码'

SQL游标嵌套存储过程

--测试数据 create table tmp1 ( ID int not null, val varchar(10), constraint PK_tmp1 primary key (ID) ); create table tmp2 ( ID int not null, vals varchar(100), constraint PK_tmp2 primary key (ID) ); insert into tmp1(id, val) values (1, 'test'); insert into tmp1(id, val) values (2, 'test2'); insert into tmp1(id, val) values (3, 'test3'); insert into tmp1(id, val) values (4, 'test4'); insert into tmp1(id, val) values (5, 'test5'); insert into tmp2(id, vals) values (1, '1,2'); insert into tmp2(id, vals) values (2, '1,3'); insert into tmp2(id, vals) values (3, '2,5'); insert into tmp2(id, vals) values (4, '1,2,3,4,5'); --存储过程 drop procedure proc_tmp_1 go CREATE PROCEDURE proc_tmp_1 AS begin declare @vals varchar(500) declare @id int declare @vals2 varchar(1000) declare @command varchar(1000) declare @vals3 varchar(1000) declare @cmd varchar(1000) declare cursor_tmp_1 cursor for SELECT id, vals FROM tmp2 open cursor_tmp_1 fetch next from cursor_tmp_1 into @id, @vals while @@fetch_status = 0 begin set @vals3 = '' set@cmd = 'declare cursor_tmp_2 cursor for select val from tmp1 where id in (' + @vals + ')' EXEC (@cmd) open cursor_tmp_2 fetch next from cursor_tmp_2 into @vals2 while @@fetch_status = 0 begin if (@vals3 <> '') begin set @vals3 = @vals3 + ',' end SET @vals3 = @vals3 + @vals2

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

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

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

sql server存储过程详细代码(超赞!)

use jxgl --首先判断有没有已经建立up_getallstudents存储过程,有则先删除 if exists (select name from sysobjects where name='up_getallstudents'and type ='p') drop procedure up_getallstudents --编写存储过程up_getallstudents,用于获取学生表students的所有记录 create procedure up_getallstudents as select*from students --使用execute执行存储过程up_getallstudents exec up_getallstudents --也可写成 execute up_getallstudents --编写一个存储过程up_insertstudent,完成学生表students数据的插入 --1、不带默认值的参数 create procedure up_insertstudent @sid varchar(15),@sname varchar(30),@ssex char(10), @sbirth datetime,@sbirthplace varchar(300) as begin insert into students (stu_id,stu_name,stu_sex,stu_birth,stu_birthplace) values (@sid,@sname,@ssex,@sbirth,@sbirthplace) end exec up_insertstudent'200712110111','肖玉峰','男','1975-02-05','山东省滕州市木石镇' --等同于 exec up_insertstudent @sname='肖玉峰',@sid='200712110111',@ssex='男',@sbirth= '1975-02-05',@sbirthplace='山东省滕州市木石镇' drop procedure up_insertstudent delete students where stu_name='肖玉峰'

游标类量具试题及答案

游标类量具试卷 单位姓名得分 一、填空题: 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次。

存储过程和游标

我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等 1.存储过程结构 1.1 第一个存储过程 Java代码 1.create or replace procedure proc1( 2. p_para1 varchar2, 3. p_para2 out varchar2, 4. p_para3 in out varchar2 5.)as 6. v_name varchar2(20); 7.begin 8. v_name := '三丰'; 9. p_para3 := v_name; 10. dbms_output.put_line('p_para3:'||p_para3); 11.end; 上面就是一个最简单的存储过程。一个存储过程大体分为这么几个部分: 创建语句:create or replace procedure 存储过程名 如果没有or replace语句,则仅仅是新建一个存储过程。如果系统存在该存储过程,则会报错。Create or replace procedure 如果系统中没有此存储过程就新建一个,如果系统中有此存储过程则把原来删除掉,重新创建一个存储过程。 存储过程名定义:包括存储过程名和参数列表。参数名和参数类型。参数名不能重复,参数传递方式:IN, OUT, IN OUT IN 表示输入参数,按值传递方式。 OUT 表示输出参数,可以理解为按引用传递方式。可以作为存储过程的输出结果,供外部调用者使用。 IN OUT 即可作输入参数,也可作输出参数。 参数的数据类型只需要指明类型名即可,不需要指定宽度。 参数的宽度由外部调用者决定。 过程可以有参数,也可以没有参数 变量声明块:紧跟着的as (is )关键字,可以理解为pl/sql的declare关键字,用于声明变量。 变量声明块用于声明该存储过程需要用到的变量,它的作用域为该存储过程。另外这里声明的变量必须指定宽度。遵循PL/SQL的变量声明规。 过程语句块:从begin 关键字开始为过程的语句块。存储过程的具体逻辑在这里来实现。 异常处理块:关键字为exception ,为处理语句产生的异常。该部分为可选 结束块:由end关键字结果。 1.2 存储过程的参数传递方式 存储过程的参数传递有三种方式:IN,OUT,IN OUT . IN 按值传递,并且它不允许在存储过程中被重新赋值。如果存储过程的参数没有指定存参数传递类型,默认为IN

Oracle存储过程学习_游标CURSOR使用

游标CURSOR的使用学习 游标的类型: 1,隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐 式游标,名字固定叫sql。 2,显式游标:显式游标用于处理返回多行的查询。 3,REF 游标:REF 游标用于处理运行时才能确定的动态 SQL 查询 的结果 一、隐式游标 在PL/SQL中使用DML语句时自动创建隐式游标 q隐式游标自动声明、打开和关闭,其名为 SQL q通过检查隐式游标的属性可以获得最近执行的DML 语句的信息q隐式游标的属性有: q%FOUND – SQL 语句影响了一行或多行时为 TRUE q%NOTFOUND – SQL 语句没有影响任何行时为TRUE q%ROWCOUNT – SQL 语句影响的行数 q%ISOPEN - 游标是否打开,始终为FALSE begin update student s set s.sage = s.sage + 10; if sql %FOUND then dbms_output.put_line('这次更新了' || sql% rowcount); else dbms_output.put_line('一行也没有更新'); end if; end; 在select中有两个中比较常见的异常: 1. NO_DATA_FOUND 2. TOO_MANY_ROWS declare sname1 student.sname%TYPE; begin

select sname into sname1 from student; if sql%found then dbms_output.put_line(sql%rowcount); else dbms_output.put_line('没有找到数据'); end if; exception when too_many_rows then dbms_output.put_line('查找的行记录多于1行'); when no_data_found then dbms_output.put_line('未找到匹配的行'); end; 显式游标: sqlserver与oracle的不同之处在于:最后sqlserver会deallocate 丢弃游标,而oracle只有前面四步:声明游标、打开游标、使用游标读取记录、关闭

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

螺旋测微器和游标卡尺专项练习 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 。 要注意:游标卡尺都是根据刻线对齐来读数的, 所以都不再往下一位估读。 2.螺旋测微器 固定刻度上的最小刻度为0.5mm (在中线的上侧);可动刻度每旋转一圈前进(或后退)0.5mm 。在可动刻度的一周上平均刻有50条刻线,所以相邻两条刻线间代表0.01mm 。读数时,从固定刻度上读取整、半毫米数,然后从可动刻度上读取剩余部分(因为是10分度,所以在最小刻度后应再估读一位),再把两部分读数相加,得测量值。上图中的读数应该是6.702mm 。 3.巩固练习 1.用游标卡尺测量摆球直径。游标位置如右图所示, 可知摆球直径是 mm 。 2.有一游标卡尺,主尺的最小分度是1mm ,游标上有20个小的等分刻度。用它测量一工件的长度,如下左图所示,图示的读数是 mm 。 3. 一游标卡尺的主尺最小分度为1mm ,游标上有10个小等分间隔,现用此 卡尺来测量工件的直径,如上右图所示。该工件的直径为________ ___mm 。 4.用螺旋测微器测圆柱体直径时,示数如右图,此示数为 mm 。 5. 下左图为用游标为50分度的卡尺(测量值可准确到0.02mm )测定某圆筒的内径时,卡尺上的示数如图可读出圆筒的内径为 mm 。

oracle试题答案解释版

要求20道判断、20道单选选择10道多选7道问答3道编程,再加20道填空 一、单项选择题(每题1分,共20分) 1、在Oracle中,一个用户拥有的所有数据库对象统称为(B ) A) 数据库B) 模式C) 表空间D) 实例 2、在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将(D)表空间分配给用户作为默认表空间。 A) USER B) SYS C) DEFAULT D) SYSTEM 3、在oracle中获取前10条的关键字是(D) A) top B)Limit C)first D) rownum 解释:top 是sql server数据库的关键字,limit 是mysql数据库的关键字,first是informix 数据库的关键字 4、在Oracle中,( B)操作符返回并集操作并不包括重复行 A) Intersect B) Union C) Union all D) Minus 解释:Intersect返回交集,union返回并集,不包括重复行,union all 返回并集,包括重复行,minus返回差集 5、下面那个语句是错误的(D) A) create synonym dept_synon for scott.dept B) create sequence dept_seque increment by 1 C) alter sequence dept_seque increment by 2 D) drop dept_synon 6、oracle数据库中,通过( C)可以以最快的方式访问表中的一行。 A) 主键B) 唯一索引C) rowid D) 全表扫描 7、下面那个不是oracle程序设计中的循环语句( A) A) for… end for B) loop…end loop C) while…end loop D) for… end loop 8、oracle存储结构正确的是(B) A) tablespace--segment--osblock--block B) tablespace--segment--extent--block C) tablespace--extent--segment--block D) tablespace--extent--block –segment 9、若tnsnames.ora文件中部分配置如下: xfhtdb = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hello)(PORT = 1521))

存储过程与游标练习

创建三个表:学生(学号,姓名)、课程(课程号,课程名)、成绩(学号、课程号、分数),然后在三个表中分别添加记录。按照输入的课程名称打印此门课程的成绩报表(如不给定课程名称则打印SQL课程的成绩),输出结果按照分数降序排列: 例如: 《SQL》成绩表 **************************************************** 名次学号姓名成绩 1 0508044126 李军95 2 0508044124 李明85 3 0508044125 王刚75 **************************************************** */ use pubs IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME = '学生') DROP table 学生 GO IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME = '课程') DROP table 课程 GO IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME = '成绩') DROP table 成绩 GO create table 学生(学号char(10) primary key constraint xh_chk check (学号like '0508044[1-4][0-3][0-9]'),姓名nvarchar(10) not null) create table 课程(课程号char(6) primary key,课程名称nvarchar(40)) create table 成绩(学号char(10) not null,课程号char(6) not null,分数numeric(4,1)) insert 学生values('0508044124','李明') insert 学生values('0508044125','王刚') insert 学生values('0508044126','李军') insert 课程values('080101','SQL') insert 课程values('080204','D S') insert 成绩values('0508044124','080101',85) insert 成绩values('0508044124','080204',95) insert 成绩values('0508044125','080101',75) insert 成绩values('0508044125','080204',86) insert 成绩values('0508044126','080101',95) go if exists(select * from sysobjects where name='cj_proc' and xtype='p') drop proc cj_proc

数据库原理及应用习题参考答案

数据库原理及应用习题参考答案 习题1 1-1 文件系统阶段的数据管理有哪些特点 答:文件系统阶段主要有5个特点:数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。 1-2 文件系统阶段的数据管理有些什么缺陷试举例说明。 答:主要有3个缺陷:数据冗余;数据不一致性;数据联系弱。 例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,如联系电话,家庭住址等。这就是“数据”冗余;如果某个学生搬家,就要修改3个部门文件中的数据,否则会引起同一数据在3个部门中不一致;产生上述问题的原因是这3个部门的文件中数据没有联系。 1-3 数据库阶段的数据管理有哪些特色 答:主要有5个特点:采用数据模型可以表示复杂的数据结构;有较高的数据独立性; 为用户提供了方便的用户接口;提供了4个方面的数据控制功能;对数据的操作以数据项为 单位,增加了系统的灵活性。 1-4 什么是数据独立性在数据库中有哪两级独立性 答:数据独立性是指应用程序与DB的数据结构之间的相互独立。在物理结构改变时,尽量不影响应用程序,称为物理独立性;在逻辑结构改变时,尽量不影响应用程序,称之为逻辑数据独立性。 1-5 试解释DB、DBMS和DBS三个概念。 答:DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。 DBMS是位于用户与0S之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。 DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件 和数据资源组成的系统,即采用数据库技术的计算机系统。 1-6 SQL Server 2005有哪些数据类型 答:SQL Server中数据类型分为整型、浮点型、二进制数据型、逻辑型、字符型、文本型、图形型、日期时间型、货币型、自定义类型、可变数据类型和表数据类型。 1-7 列举SQL Server 2005中新增的主要功能。 答:SQL Server 2005中新增的主要功能有: ⑴Notification Services增强功能; ⑵Reporting Services增强功能,其中包括:报表功能的增强功能、Reporting Services设计时增强功能、Reporting Services可编程性的增强功能、Reporting Services可管理性和部署的增强功能; ⑶新增的Service Broker以实现SQL Server中的消息传递方面具有以下优势:高伸缩性、消息协调、排序和锁定、集成数据库数据、集成数据库安全性; ⑷数据库引擎增强功能; ⑸数据访问接口方面的增强功能; ⑹SQL Server Analysis Services(SSAS)的增强功能; ⑺Integration Services的增强功能; ⑻在可管理性、可用性、可编程性、移动性、可伸缩性和性能方面提供了改进。 ⑼工具和实用工具增强功能; 第 1 页

相关文档
最新文档